Моя форма имеет одно текстовое поле для ввода, просмотр списка для сохранения.
Пользовательский номер ввода в текстовом поле и ввод ввода, программа проверяет длину номера ввода и дублирование
Событие KeyUp textbox
private void txb_MList_num_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (check_MList_dup())
{
lstv_MList.Items.Add(txb_MList_num.Text);
allList.Add(txb_MList_num.Text);
txb_MList_num.Text = "";
}
}
}
check_MList_dup ()
private bool check_MList_dup()
{
bool OK = true;
if (txb_MList_num.TextLength < 11)
{
MessageBox.Show("Input more text(length = 11)");
return false;
}
else
{
for (int i = 0; i < allList.Count; i++)
if (allList[i].Equals(txb_MList_num.Text))
{
MessageBox.Show("It's duplication.");
return false;
}
}
return OK;
}
Но ввод пользователя для закрытия MessageBox, программа покажет MessageBox снова, снова... перед использованием мыши.
Я отлаживаю его, используя точку останова, когда MessageBox показывает, что событие не происходит.
Но удаляем точку останова, MessageBox повторяется.
Я используюe.KeyCode == Keys.Enter && this.Focused
но this.Focused
всегда возвращать false
.
Как я могу закрыть MessageBox?