Что вызывает системный гудок?
Это то, что я использую, чтобы позволить кнопке ввода начать поиск. Это работает, но вызывает системный гудок. Понятия не имею почему.
private void searchbox_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
searchbutton.PerformClick();
}
else
{
//Run.
}
}
Это происходит, как только я нажимаю клавишу ввода, а не какую-то другую строку в коде. Мысли о том, что мне не хватает?
Вот кнопка search_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
, Я только что проверил это на моей машине, и это сработало; он убрал звуковой сигнал.