2012-06-19 2 views
4

Это то, что я использую, чтобы кнопка ввода начала поиск. Он работает, но вызывает системный звуковой сигнал. Понятия не имею почему.Что вызывает системный сигнал?

private void searchbox_KeyUp(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.Enter) 
     { 
      searchbutton.PerformClick(); 
     } 
     else 
     { 
      //Run. 
     } 

    } 

Это происходит, как только я нажимаю кнопку ввода, а не какую-либо другую строку в коде. Мысли о том, что мне не хватает?

Вот 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; 
     } 

    } 
+0

Ha. Как я уже сказал, это происходит, когда я нажимаю кнопку ввода, перешагивая код, все работает отлично ... просто получайте звуковой сигнал. – marcmiller2007

ответ

1

Вы можете попробовать добавить e.Handled = true;KeyPressed к событию для TextBox.

Обычно, если ваш Form не имеет свой набор свойств AcceptButton, звуковой сигнал системы воспроизводится при попадании. Введите внутри TextBox. Звуковой сигнал указывает, что для вашего Form нет кнопки по умолчанию.

1

Добавьте следующий обработчик события (в дополнение к KeyUp):

private void searchbox_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == '\r') 
     e.Handled = true; 
} 

То есть, подписаться на KeyPress событие и когда Enter нажата, установите e.Handled в true. Я просто тестировал это на своей машине, и это сработало; он удалил звуковой сигнал.

Смежные вопросы