我正在开发winform应用程序..
在我的表格中,我有四个文本框和一个保存按钮。在第一个按键时,我写了这样的代码:
if (e.KeyChar == (char)13)
{
fetchdetails()
}
如果在文本框1中输入id并按Enter键,则执行fetchdetails并填充另外三个文本框。然后保存此详细信息。 如果我输入Enter按钮获取详细信息后,它将自动触发保存按钮。所以在fetchdetails()中我给出了这样的代码
this.AcceptButton=btnsave
现在发生的事情是:如果我输入id并点击enter,那么它不会填充数据。它直接保存按钮事件。
那么我能做什么呢?
答案 0 :(得分:2)
在致电fetchdetails()
if (e.KeyChar == (char)13 && textbox.text!=string.Empty)
{
fetchdetails()
}
答案 1 :(得分:1)
//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;
}
}
}