扩展Foxtable功能

本节内容可以参考示例文件"CaseStudy\vditor\vditor.Table"

因为有了WebViewer控件,任何B/S的系统都可以无缝嵌入到Foxtable中,而且可以直接读写本地数据和文件。

例如Foxtable一直没有富文本编辑器,本节介绍如何将Vditor编辑器嵌入到Foxtable中,弥补这个遗憾。

Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式,官网:

https://b3log.org/vditor/

你可以不费吹灰之力将其完整嵌入到Foxtable中,代码极少。

打开文件按钮的代码:

'''Async
Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
Dim
dlg As New OpenFileDialog
dlg.Filter =
"markdown文件|*.md;*.markdown|文本文件|*.txt"
If
dlg.ShowDialog = DialogResult.Ok Then
    e.Form.Controls(
"TextBox1").Text = dlg.FileName
   
Dim jo As New JObject
    jo(
"content") = FileSys.ReadAllText(dlg.FileName)
   
Await wv.ExecuteScriptAsync("setContent(" & jo.ToString & ")")
End
If

保存文件按钮按钮代码:

'''Async
Dim
file As String = e.Form.Controls("TextBox1").Text
If
file = "" Then
    Dim dlg As New SaveFileDialog
    dlg.Filter =
"markdown
文件|*.md"
   
If dlg.ShowDialog = DialogResult.Ok Then
        file = dlg.FileName
        e.Form.Controls(
"TextBox1").Text = file
   
Else
        MsgBox(
"
请选择保存的路径和文件!")
       
Return
   
End If
End
If
Dim
wv As WebViewer = e.Form.Controls("WebViewer1").WebViewer
Dim
result As String = Await wv.ExecuteScriptAsync("getContent();")
FileSys.WriteAllText(file, result.Trim(
"""").Replace("\n", vbcrlf), False)
MessageBox.Show(
"
文件【" & file & "】保存成功。", "温馨提示")

现在Foxtable就拥有了强大的富文本编辑功能:

这个编辑器非常强大,具体使用可以学习其官网教程,下图来自于其官网展示:


本页地址:http://www.foxtable.com/webhelp/topics/7099.htm