Что вызывает системный звуковой сигнал?
Это то, что я использую, чтобы позволить кнопке enter начать поиск. Он работает, но вызывает системный звуковой сигнал. Я понятия не имею, почему.
private void searchbox_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
searchbutton.PerformClick();
}
else
{
//Run.
}
}
Это происходит, как только я нажимаю enter, а не какую-то другую строку в коде. Мысли о том, чего мне не хватает?
Вот searchbutton_Click:
private void searchbutton_Click(object sender, EventArgs e)
{
var searchvar = searchbox.Text;
SqlParameter var1 = new SqlParameter(@"var1", SqlDbType.Text);
var1.Value = "%" + searchvar + "%";
var conn = new SqlConnection("Data Source=TX-MANAGER;Initial Catalog=Contacts;Integrated Security=True");
var comm = new SqlCommand(@"SELECT [Name ID], First, Last, Address, City, State, ZIP FROM contacts WHERE (First LIKE @var1) OR (Last LIKE @var1)", conn);
if (checkBox1.Checked == true)
{
comm.CommandText += "ORDER BY ZIP";
}
else
{
//Run.
}
try
{
comm.Parameters.Add(var1);
conn.Open();
comm.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(comm);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
conn.Close();
}
catch (Exception e1)
{
display_box.Text = e1.ToString();
tabControl1.Focus();
}
finally
{
int rowcount = dataGridView1.RowCount - 1;
count.Text = rowcount.ToString();
tabControl1.SelectedTab = tabPage2;
}
}
2 ответа:
Вы можете попробовать добавить
e.Handled = true;
к событиюKeyPressed
для вашегоTextBox
.Обычно, если ваш
Form
не имеет своегоAcceptButton
набора свойств, при нажатии Enter внутриTextBox
воспроизводится системный звуковой сигнал. Звуковой сигнал указывает на то, что для вашегоForm
нет кнопки по умолчанию.
Добавьте следующий обработчик событий (в дополнение к
KeyUp
):private void searchbox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == '\r') e.Handled = true; }
То есть подписаться на событие
KeyPress
и при нажатииEnter
установитьe.Handled
вtrue
. Я только что проверил это на своей машине, и она сработала; она удалила звуковой сигнал.