Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在winform应用程序中禁用acceptbutton属性_C#_Winforms - Fatal编程技术网

C# 如何在winform应用程序中禁用acceptbutton属性

C# 如何在winform应用程序中禁用acceptbutton属性,c#,winforms,C#,Winforms,我正在处理winform应用程序。 在我的表单中,我有四个文本框和一个保存按钮。在第一次按键时,我编写了如下代码: if (e.KeyChar == (char)13) { fetchdetails() } 如果在文本框1中输入id,我按enter键,然后工作获取详细信息并填写另外三个文本框。然后我保存此详细信息。 获取详细信息后,如果我输入Enter按钮,它将自动触发save按钮 this.AcceptButton=btnsave 现在发生的情况是:如果我键入id并单击enter,

我正在处理winform应用程序。
在我的表单中,我有四个文本框和一个保存按钮。在第一次按键时,我编写了如下代码:

if (e.KeyChar == (char)13)
{
    fetchdetails()
}
如果在文本框1中输入id,我按enter键,然后工作获取详细信息并填写另外三个文本框。然后我保存此详细信息。 获取详细信息后,如果我输入Enter按钮,它将自动触发save按钮

this.AcceptButton=btnsave
现在发生的情况是:如果我键入id并单击enter,则它不会填充数据。它将直接保存按钮事件。

那么我能做什么呢?

在调用
fetchdetails()


在调用
fetchdetails()


在调用
fetchdetails()


在调用
fetchdetails()



如果数据有效,则将条件放入按键代码中,然后调用保存方法,否则调用fetchdetails。您是否可以显示提取详细信息代码将条件放入按键代码中如果数据有效,则调用保存方法,否则调用fetchdetails。您是否可以显示提取详细信息代码将条件放入按键代码中如果数据有效,则编码,然后调用保存方法,否则调用fetchdetails。您是否可以显示获取详细信息代码在按键代码中放置条件如果数据有效,则调用保存方法,否则调用fetchdetails。您是否可以显示获取详细信息代码您应该检查所有四个文本框中的空值Sir,获取详细信息后,我只需要获取默认按钮作为保存按钮。第二次单击enter按钮时,它直接进入保存按钮单击事件,不获取获取详细信息在保存按钮本身中写入获取详细信息()。如果数据存在,则可以保存数据。@Anant Dabi:请参阅,用于获取详细信息的文本框可能有值,但相应的详细信息可能无法从数据库中获取,或者数据可能不存在于数据库中。在这种情况下,您应该检查所有文本。您应该检查所有四个文本框中的空值,获取详细信息后,我只需要获取默认按钮作为保存按钮。第二次单击enter按钮时,它直接进入保存按钮单击事件,不获取获取详细信息在保存按钮本身中写入获取详细信息()。如果数据存在,则可以保存数据。@Anant Dabi:请参阅,用于获取详细信息的文本框可能有值,但相应的详细信息可能无法从数据库中获取,或者数据可能不存在于数据库中。在这种情况下,您应该检查所有文本。您应该检查所有四个文本框中的空值,获取详细信息后,我只需要获取默认按钮作为保存按钮。第二次单击enter按钮时,它直接进入保存按钮单击事件,不获取获取详细信息在保存按钮本身中写入获取详细信息()。如果数据存在,则可以保存数据。@Anant Dabi:请参阅,用于获取详细信息的文本框可能有值,但相应的详细信息可能无法从数据库中获取,或者数据可能不存在于数据库中。在这种情况下,您应该检查所有文本。您应该检查所有四个文本框中的空值,获取详细信息后,我只需要获取默认按钮作为保存按钮。第二次单击enter按钮时,它直接进入保存按钮单击事件,不获取获取详细信息在保存按钮本身中写入获取详细信息()。如果数据存在,则可以保存数据。@Anant Dabi:请参阅,用于获取详细信息的文本框可能有值,但相应的详细信息可能无法从数据库中获取,或者数据可能不存在于数据库中。在这种情况下,您应检查所有文本框
if (e.KeyChar == (char)13 && textbox.text!=string.Empty)
{
fetchdetails()
}
//Initially in the form
string lastFetchedId = string.Empty;

//KeyDown code
//Remove AcceptButton, if string is being edited etc. Anything other than enter
if (e.KeyCode != Keys.Enter) this.AcceptButton = null;
else
{
    //If something changed
    if (lastFetchedId != textBox.Text)
    {
       //Have Fetch return a true or false, after filling data in the textboxes
       if (fetchdetails(textBox.Text))
       {
         lastFetchedId = textBox.Text;
         this.AcceptButton = btnSave;
       }
    }
}