扩展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就拥有了强大的富文本编辑功能:

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