关于WinForm聊天窗口输入控件的问题
现在在做一个在线客服系统,客户端采用的WinForm,最近在聊天输入框的控件上纠结到现在,刚开始想用的是RichTextBox,结果发现插入表情比较麻烦,做过的都应该知道,后来使用了一款网络上的控件:ExRichTextBox结果发现插入的动态表情是不动的。。而且图片文件可以自由拖动,更改大小不是我想要的,现在使用的是WebBrowser控件,将其设置为可编辑,可是问题又出现了。。。①插入表情等一切直接设置其HTML这个还是很方便的,直接插入即可。首先是获取焦点的问题,每次插入表情以后我都会设置WbChatInsert.Focus();但是获取焦点是隔一次才可以。
②需要设置回车发送或者Ctrl+回车发送,设置回车发送的时候需要设置Ctrl+Enter为换行,于是我添加了按键监听事件,结果发现WebBrowser控件支持事件里面支持PreviewKeyDown,结果我不知道为什么该事件会触发两次?最让我无语的是:发送结束以后会在输入框插入一个换行符(回车?),我设置断点跟踪了下竟然添加了<P> </p>然后剩下输入的字符会添加到下一个P标签中。。而且。。。键盘按键不能屏蔽!PreviewKeyDownEventArgs e无法设置不响应回车。。,好吧我继续忍,后来从网上找了资料设置e.IsInputKey = true;方法,现在发送方法调用了一次,但是,还是有那个换行符!!
③好吧 我继续忍,想着我监听一下WebBrowser内容修改事件吧。。结果。。还是让我失望了。。他竟然没有。。我无法监听到内容修改。。
求大神指教我现在应该怎么弄?
项目要求:
①可以设置Ctrl+Enter发送 或者Enter发送
②插入表情
③自动识别URl并加入超链接(已经解决) --------------------编程问答-------------------- 人工置顶求大神 --------------------编程问答-------------------- 同求,一直卡这问题上,输入框用的richtextbox,显示用的WebBrowser
补充:.NET技术 , C#