gpt4 book ai didi

c# - 根据事件控件更改 AcceptButton

转载 作者:太空宇宙 更新时间:2023-11-03 19:37:31 26 4
gpt4 key购买 nike

我有一个工作的 WinForm,它处理我的客户数据库中的搜索功能。它包含以下控件:

  • 一个文本框,您可以在其中键入搜索字符串 (A)
  • “搜索”按钮 (B)
  • 返回搜索结果的 DataGridView (C)
  • “确定”按钮 (D) 和“取消”按钮 (E)

接下来我要实现的是:

  1. 当 A 处于事件状态时,AcceptButton(输入)应链接到 B
  2. 当 B 或 enter 被按下时,C 应该被激活
  3. 当 C 处于事件状态时,AcceptButton 应该链接到 D

我知道这是一个有点大的问题,所以如果您知道答案,请不要犹豫,只回答其中一个项目符号。

编辑:我已经解决了上面要求 1 和 3 的实现,但我仍在寻找第二个要求的答案。澄清一下,当搜索开始时(意味着我按下了键盘上的回车键或使用鼠标搜索按钮),我希望焦点转移到 DataGridView 中的第一行。

最佳答案

当您获得文本框的文本更改事件时,将 AcceptButton 设置为“搜索”:

    private void textBox1_TextChanged(object sender, EventArgs e)
{
this.AcceptButton = SearchButton;
}

这里可能需要更多代码,检查字符串的长度等。

完成搜索并填写 DataGridView 后,您就可以将 AcceptButton 设置为“确定”。

    private void dataGridView1_DataMemberChanged(object sender, EventArgs e)
{
this.AcceptButton = OKButton;
}

尽管您可能不想使用此事件。

“取消”始终是取消按钮。

编辑:好的,对于第 2 部分,您需要以下代码:

    private void SearchButton_Click(object sender, EventArgs e)
{
dataGridView1.Focus();
}

这将使它在按下搜索按钮后立即激活,但您可能希望在 DataGridView 已填充时执行此操作 - 以防万一搜索未返回任何结果。

关于c# - 根据事件控件更改 AcceptButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/602876/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com