private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (click_counter > 0)
{
click_counter = 0;
return;
}
if (e.KeyCode == Keys.S)
{
searchButton.PerformClick();
}
}
Я добавил этот код в свой исходный код формы, который имеет объект webbrowser. Проблема в том, что ящик сообщений появляется 3 раза, когда я нажимаю букву «S».webBrowser1_PreviewKeyDown запускается несколько раз, когда я нажимаю клавишу
Как я могу избавиться от этой проблемы?
Thanks EDITED: удалено MessageBox.Show за рекомендацию!
SOLVED: Я решил это с помощью обходного пути. Однако я не могу назвать это реальным решением. то, что я сделал, это добавить условие if в начале, чтобы контролировать количество кликов. Любое лучшее решение приветствуется!
Вы тоже пытались использовать KeyDown в качестве поддержки? Изучив [MSDN] (http://msdn.microsoft.com/it-it/library/system.windows.forms.control.previewkeydown.aspx), я нашел это: 'PreviewKeyDown - это то, где вы просматриваете ключ. Не вводите здесь никакой логики, вместо этого используйте событие KeyDown после установки IsInputKey в true. ' –
Я этого не пробовал. Не могли бы вы написать пример кода? –