什么导致系统发出蜂鸣声?

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;
        }

    }

哈。正如我所说,当我按回车键时会出现这种情况,在逐步执行代码时一切都正常......只是会发出嘟声。 - marcmiller2007
2个回答

1

除了 KeyUp 事件处理程序之外,添加以下事件处理程序:

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

那就是订阅 KeyPress 事件,当按下 Enter 键时,将 e.Handled 设置为 true。我刚在我的机器上测试了一下,它可以正常工作;它消除了蜂鸣声。

1
你可以尝试在你的TextBox的KeyPressed事件中添加e.Handled = true;。
通常情况下,如果你的Form没有设置AcceptButton属性,在TextBox内按Enter键时会播放系统提示音。这个提示音表示你的Form没有定义默认按钮。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接