Очистить представление datagridview
Когда пользователь нажимает клавишу backspace, я хочу, чтобы текстовое поле и datagridview были очищены. С помощью этого кода, который у меня есть, я должен дважды нажать клавишу backspace, чтобы очистить datagridview.
Что я уже пробовал:
private void txtMusicianName_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Back) { e.Handled = false; gridSelectMusician.Rows.Clear(); txtMusicianName.Clear(); } }
У меня также есть вызов БД:
"SELECT * FROM `login` WHERE `Email` LIKE '%" + txtMusicianName.Text + "%' OR `Name`LIKE '%" + txtMusicianName.Text + "%'"Я попробовал добавить if (txtName.Text != " ") затем выполните вызов базы данных. С помощью этого кода я получаю половину желаемого результата. Если пользователь вводит пробел, ничего не происходит, что хорошо, но когда пользователь отступает назад, то все имена появляются снова. Как я могу предотвратить появление имен таким образом?
0x01AA
Почему? e.Handled = false;
? Вы управляли backspace так что для меня это более логично сделать e.Handled = true;
Кстати, с точки зрения опыта, обработка ключевых событий более успешна, чем их выполнение в "_KeyUp". Также иногда вам нужно позаботиться о KeyPreview для формы.
Steven8579
Не могли бы вы объяснить чуть подробнее? Я изменил его на e.handled = true; и изменил свой код на событие KeyUp. Я все еще получаю ту же проблему с тем, что список не очищается