如何禁用 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("&lt;html&gt;&lt;body&gt;&lt;div id=&quot;&quot;MyDiv&quot;&quot;&gt;&lt;/div&gt;&lt;/body&gt;&lt;html&gt;")
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 控件的点击噪音?的主要内容,如果未能解决你的问题,请参考以下文章

WebBrowser禁用触摸缩放

C# WPF WebBrowser控件调用Refresh()函数出现异常,导致程序“未响应”并无法继续运行

wpf中我想在WebBrowser控件上放置一个Border控件

如何禁用 .NET WebBrowser 控件中的缓存?

如何在 Webbrowser 控件中禁用“安全警报”窗口

如何通过 MVVM 在 WPF WebBrowser 控件上使用 Javascript