Что вызывает системный звуковой сигнал?
Это то, что я использую, чтобы позволить кнопке 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. Я только что проверил это на своей машине, и она сработала; она удалила звуковой сигнал.