WebBrowser控件处理PreviewKeyDown事件的bug
在WebBrowser控件中按下一个键的时候,PreviewKeyDown事件本来应该是只触发一次,但实际情况是引发了两次PreviewKeyDown事件,
ms的网站上有人报告了这个bug,详见:http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=220587
目前只能用代码来解决,在类中定义一个bool型的变量来记录是第一次引发还是第二次引发。代码如下:
bool _isFirstKeyDown = true;
private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (_isFirstKeyDown)
{
DoSomeThing();
}
_isFirstKeyDown = !_isFirstKeyDown;
}
private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (_isFirstKeyDown)
{
DoSomeThing();
}
_isFirstKeyDown = !_isFirstKeyDown;
}