Хорошо, я хочу, чтобы пользователь мог нажимать клавишу ввода, чтобы инициировать нажатие кнопки во время ввода в текстовом поле.
У меня есть следующий код:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
{
button3_Click(sender, e);
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
this.textBox1.KeyUp += new System.Windows.Forms.KeyEventHandler(this.textBox1_KeyDown);
}
private void button3_Click(object sender, EventArgs e)
{
if (textBox1.Text == "")
{
MessageBox.Show("Please enter a value.", "No name entered", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
if (listBox1.Items.Contains(textBox1.Text) == true)
{
MessageBox.Show("You have tried to enter a duplicate.", "No duplicates allowed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
listBox1.Items.Add(textBox1.Text);
textBox1.Text = "";
}
}
}
Однако, когда я нажимаю, введите значение, которое сохраняется, и затем появляется MessageBox, говорящий «пожалуйста, введите значение» около 4 раз.Как сделать так, чтобы этот код вызывал нажатие кнопки только один раз при нажатии клавиши ввода?
Есть ли более простой способ сделать это?
Спасибо!