如何禁用 WPF WebBrowser 控件的点击噪音?
Posted
技术标签:
【中文标题】如何禁用 WPF WebBrowser 控件的点击噪音?【英文标题】:How do I disable the WPF WebBrowser control's click noise? 【发布时间】:2010-09-21 15:32:36 【问题描述】:我有一个简单的小 WPF 应用程序,带有一个 TextBox 和一个 WebBrowser 控件。当我在 TextBox 中输入内容时,WebBrowser 会更新其内容。
但是在每次击键时,当 WebBrowser 更新时,它会发出点击声。如何禁用 WebBrowser 控件的刷新点击声音?
WPF TextBox and WebBrowser controls http://img411.imageshack.us/img411/2296/appbz9.jpg
我的 XAML...
<TextBox Name="MyTextBox"
...
TextChanged="MyTextBox_TextChanged"
TextWrapping="Wrap"
AcceptsReturn="True"
VerticalScrollBarVisibility="Visible" />
<WebBrowser Name="MyWebBrowser" ... />
我的 Visual Basic 代码...
Private Sub MyTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.TextChangedEventArgs) If Not MyTextBox.Text = String.Empty Then MyWebBrowser.NavigateToString(MyTextBox.Text) 别的 MyWebBrowser.Source = 无 万一 结束子【问题讨论】:
【参考方案1】:如果我没记错的话,它使用的是 IE7/8 容器,所以它可能需要通过 Windows Sounds 来完成。
【讨论】:
【参考方案2】:那个点击是因为导航,没有它不应该出现。
我会在 web 浏览器中加载的空 html 中引入我的 div 标签,并且在更新时我会在 div 的 innerHTML 属性中引入文本框的文本。没有导航。
Visual Basic 代码...
Private Sub Window1_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
MyWebBrowser.NavigateToString("<html><body><div id=""MyDiv""></div></body><html>")
End Sub
Private Sub MyTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.Windows.Controls.TextChangedEventArgs)
MyWebBrowser.Document.GetElementById("MyDiv").InnerHtml = MyTextBox.Text
End Sub
【讨论】:
此方法有效,但我无法操作 HTML、HEAD 或 BODY 标记。以上是关于如何禁用 WPF WebBrowser 控件的点击噪音?的主要内容,如果未能解决你的问题,请参考以下文章
C# WPF WebBrowser控件调用Refresh()函数出现异常,导致程序“未响应”并无法继续运行