当我按 Ctrl + S 保存详细信息并按住按键时,按下按键事件持续触发会导致重复记录输入。有没有办法在我的保存过程完成后让它们激活。
我在吹链中发现了同样的问题 how not to allow multiple keystokes received at one key press?
我已经检查了它的解决方案,但它对我不起作用我必须按多次 S KEY
这是我的代码:
{{1}}
答案 0 :(得分:1)
正如一条评论指出你可以添加一个标志,像这样:
bool IsSaving;
private void FrmAddBase_KeyDown(object sender, KeyEventArgs e)
{
if (e.Control && e.KeyCode == Keys.N)
{
if (btnAdd.Enabled)
{
btnAdd_ItemClick(null, null);
}
}
if (e.Control && e.KeyCode == Keys.S)
{
if (btnSave.Enabled)
{
if(IsSaving) return;
IsSaving = true;
//I guess this is the save process, and its not threaded
btnSave_ItemClick(null, null);
IsSaving = false;
}
}
}