Foxtable(狐表)用户栏目专家坐堂 → [求助]富文本的使用


  共有5892人关注过本帖树形打印复制链接

主题:[求助]富文本的使用

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]富文本的使用  发帖心情 Post By:2022/5/24 17:30:00 [只看该作者]

我在窗口的afterload事件中增加了一个第三方控件富文本
Dim RTB As New System.Windows.Forms.RichTextBox
RTB.Dock = System.Windows.Forms.DockStyle.Fill
e.Form.Controls("Panel2").basecontrol.controls.add(RTB)

打开窗口以后,倒是可以做很多操作,比如输入文字、直接贴图了

问题:希望在富文本窗口中按回车(或者Ctrl+回车,可以自己设置)以后(为了方便测试,准备加一个保存按钮,来实现功能)
1、把富文本中的信息保存到数据库表A的Mess列中----这个应当怎么做?
2、如果能保存,也可以用其它的方法来把它发送给其他人(比如说在聊天窗口中发送)

我看到好多帮助,在设计上实际上是嵌入了一个网页浏览器实现的……
[此贴子已经被作者于2022/5/24 17:31:26编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/24 20:08:00 [只看该作者]

Dim RTB As New System.Windows.Forms.RichTextBox
RTB.Dock = System.Windows.Forms.DockStyle.Fill
RTB.name = "RichTextBox1"
e.Form.Controls("Panel2").basecontrol.controls.add(RTB)

把富文本中的信息保存到数据库表A的Mess列中---
tables("表A").current("Mess") = e.Form.Controls("Panel2").basecontrol.controls("RichTextBox1").text

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/5/24 20:57:00 [只看该作者]

但是富文本窗口中,不仅仅只有文本信息啊,可能还有图片呢……
.text只能取到文本信息呢

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/24 21:19:00 [只看该作者]

tables("表A").current("Mess") = e.Form.Controls("Panel2").basecontrol.controls("RichTextBox1").rtf

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/5/24 22:20:00 [只看该作者]

倒是取到信息了。
缺点就是:图片信息转二进制文本,太大了,就是一个普通的截屏,就是50K,存数据库不合适
现在截屏以后,可以把它存到硬盘里,然后数据库里只存文件的存放目录,然后在WebBrowser还原为图片?


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/24 22:32:00 [只看该作者]

RichTextBox没有办法和WebBrowser交互。如果想用WebBrowser,可以试试这个:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=175055&replyID=&skin=1

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/5/24 22:38:00 [只看该作者]

也就是说,如果自己做一个聊天窗口,发送消息窗口和历史消息窗口都用富文本的话,只能用二进制?
或者说发送消息窗口用富文本,历史消息用WebBrowser?
[此贴子已经被作者于2022/5/24 22:42:35编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/24 22:43:00 [只看该作者]

是的。除非您有能力去解析富文本里的rtf格式。

 回到顶部
帅哥哟,离线,有人找我吗?
chnfo
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/5/24 22:51:00 [只看该作者]

发送消息窗口用富文本,历史消息用WebBrowser?这样整不了是吧

我下载了示例文件,初始化的代码是这样的

Try
    Registry.SetValue("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION",System.Diagnostics.Process.GetCurrentProcess.ProcessName & ".exe",11001)
Catch ex As Exception
    MessageBox.Show("狐表调用IE11内核失败,会导致富文本框无法粘贴图片" & vbcrlf & "Error:" & ex.Message )
End Try

Dim wb = e.Form.Controls("WebBrowser1").BaseControl
wb.Url = New System.Uri(ProjectPath & "KindEditor\e.html", System.UriKind.Absolute) 我只是要这个文本编辑器,不想用那些工具栏之类的,要怎么整?  
Dim ke As new KindEditor '必须创建一个新实例
wb.ObjectForScripting =ke

e.Form.Controls("GroupBox2").Enabled =True
[此贴子已经被作者于2022/5/24 22:56:06编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110528 积分:562524 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/24 23:06:00 [只看该作者]

这您要自己去看KindEditor的官方文档:http://kindeditor.net/doc3.php?cmd=api

 回到顶部
总数 12 1 2 下一页