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


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

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

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


加好友 发短信
等级:九尾狐 帖子:2247 积分:18514 威望: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编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2247 积分:18514 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/5/24 20:57:00 [显示全部帖子]

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

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


加好友 发短信
等级:九尾狐 帖子:2247 积分:18514 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/5/24 22:20:00 [显示全部帖子]

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


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


加好友 发短信
等级:九尾狐 帖子:2247 积分:18514 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/5/24 22:38:00 [显示全部帖子]

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

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


加好友 发短信
等级:九尾狐 帖子:2247 积分:18514 威望: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编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2247 积分:18514 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2022/5/25 8:52:00 [显示全部帖子]

看了论坛上的一些帖以后,我想如果用富文本来处理消息发送,可以这样
1、如果单纯的是发文件或者发文本,这个处理起来比较简单
2、如果是单纯的发截图,可以
2.1、调用截图软件,然后把截图保存到本地(例如相对路径的Pic文件夹下),例如format(date.now,"yyyyMMddHHmmss") & guid.newguid.tostring & ".png",这样不会重复
2.2、富文本保存的是截图的保存路径+文件名
2.3、发送消息的时候,是发送截图的文件(也就是那个截图的x.png)
2.4、接收消息的时候,实际上是接收的x.png,然后把它保存到接收人相对路径的Pic文件夹下
2.5、接收消息以后,在网页浏览器控件把它转化为image 相对路径下的Pic\x.png的格式,就可以在上面直接看到图片了

3、如果是文字+截图,处理机制类似

4、但有个问题,在富文本中,有可能出现以下情况
4.1、编辑文本信息,例如本来输入的文本=abcdefg,修改一下成为abcdefgh,或者1234等等
4.2、编辑截图信息,例如本来贴了三张截图,删除其中第二张
4.3、文本+截图混排,例如ab +截图1  + cd +截图2 + fg + 截图3

这些情况该如何处理?

 回到顶部