环境:WinForms,.Net 4.5.1,VB.net,VS 2013
将纯文本加载到RichTextBox时,它不会始终检测纯文本中的Url.我已经设置了RichTextBox.DetectUrls,但我不确定是不是问题.
如果我加载纯文本,其中可以包含零个或多个链接,有时它会识别链接(并格式化它们以便可以单击它们),有时它不会.即使重新加载完全相同的文本(即重新加载有时会触发Urls显示为正确的链接,有时也不会),此语句也是如此.
我在这里或其他地方没有找到任何讨论此事的内容.是否有任何已知原因会发生这种情况?
注意:这是关于控件的内置行为,而不是创建双击事件.
我的一个项目使用Windows.Forms.WebBrowser控件作为HTML的编辑器和查看器.它已经工作好多年但突然我注意到,在我双击它之前会自动选择被点击的单词(这不是我的代码,只是控件发生了).
突然(不完全确定何时),双击控件中的文本(在编辑模式或视图模式下)都不执行任何操作.很难排除故障因为它不是我的代码所做的,但是,因为我过去依赖于这个功能,现在它正在影响我的最终产品.
知道最近会发生什么变化(在Windows或.Net中)会影响到这一点(我的应用程序的相同版本在较旧的Win7中运行良好但在最新的Win7中运行不正常)?另外,如何恢复以前的功能?我必须连接自己的双击甚至在DOM上然后开始解析文本以手动选择它(呃!)?
我一直在寻找这个问题的答案,但主要是我只是看到如何连接到DOM事件,没有关于最近会导致上述问题的变化.任何帮助将不胜感激.
当问题发生时,我正在使用VS 2010,VB,Win7 x64,IE 10.0.6,.Net 3.5(无论最新的是什么)(编译所以我怀疑它是VS或VB).
当我在Win7 x86上使用IE 8(Win7 Pro plain,安装了零更新)运行完全相同的代码(已编译)时,它的工作正常.
经过一些进一步的测试,在Win7 x86全新安装(一切都很好)上,一旦我安装IE 10并且没有问题,问题就开始发生了.所以,我很确定问题出在IE 10上.
重现步骤:
将此代码添加到usercontrol
Public Sub LoadHTML(html As String)
WebBrowser1.DocumentText = html
Do Until WebBrowser1.ReadyState = WebBrowserReadyState.Complete
Application.DoEvents()
Loop
WebBrowser1.Document.Body.SetAttribute("contentEditable", "false")
End Sub
Run Code Online (Sandbox Code Playgroud)将该控件添加到窗体
使用以下按钮向表单添加一个按钮.单击事件:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
UserControl1.LoadHTML("<html><body>This is a test interesting is it not?</body></html>")
End Sub
Run Code Online (Sandbox Code Playgroud)运行项目并单击按钮
如果您直接在表单上抛出webbrowser控件,它将正常工作.问题出在usercontrol上(更新到IE10后只是一个问题).
我可以使用VS 2010使用.Net 3.5和4.0重现问题.我可以使用.Net 4.5使用VS 2012重现问题.
当我的应用程序启动时,我想知道是否安装了Outlook以及它是否是默认的邮件客户端.
对于安装我只检查一个注册表项,但如何知道它是否是默认的邮件客户端?
我正在阅读这个问题并注意到 OP 正在迭代一个列表以将项目排队到 ConcurrentQueue 中。
ConcurrentQueue<TaskClass> cq = new ConcurrentQueue<TaskClass>();
for (int x = 0; x < TaskList.Count; x++)
cq.Enqueue(TaskList[x]);
Run Code Online (Sandbox Code Playgroud)
这是必要的吗?
有没有办法: