Я хочу отменить событие Windows Forms ComboBox.PreviewKeyDown, потому что оно, похоже, всегда запускает дублирующиеся события. Я бы предпочел только 1 событие для каждого нажатия клавиши.
Например:
Создать новое приложение C# Windows Forms (я пробовал. NET 4.6. 2 и 4.7.2)
Добавить ComboBox и TextBox в основную форму
Установить textBox1.Multiline = true;
Добавьте код обработчика события comboBox1.PreviewKeyDown для добавления результатов к textBox1.Text
Выполните и наблюдайте каждое нажатие клавиши в comboBox1, запускающее событие PreviewKeyDown 2 раза!
using System.Windows.Forms;
namespace ComboBox_Bounce
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// Hookup event here in code, not in the Designer
this.comboBox1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.comboBox1_PreviewKeyDown);
}
private void comboBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
this.textBox1.Text += "comboBox1_PreviewKeyDown=" + e.KeyCode.ToString() + + System.Environment.NewLine;
}
}
}
Платформа: Visual Studio 16.5.4, Windows 10 [1809] все текущие обновления.