当方法执行过程中,可能有键盘入力,这时会触发其它事件导致程序执行不正常。可以用ProcessCmdKey屏蔽。
例如:
private void fckFunctionKey_FunctionKeyPress(object sender, GrapeCity.Win.Input.FunctionKeyPressEventArgs e)
{
if( this.blnLockFlg )
{
// ロック中
return;
}
else
{
this.blnLockFlg = true;
}
try
{
}
finally
{
Application.DoEvents();
this.blnLockFlg = false;
}
//当某个方法执行过程中需要Lock时,屏蔽入力Key
protected override bool ProcessCmdKey( ref Message msg, Keys keyData )
{
try
{
// 2005/06/28 追加開始 明細Enterキー制御
if( this.blnLockFlg && keyData == Keys.Enter )
{
// ロック中
return true;
}
// 2005/06/28 追加終了 明細Enterキー制御
}
catch
{
}
}
return base.ProcessCmdKey (ref msg, keyData);
}
博客指出方法执行中键盘输入可能触发其他事件,导致程序执行异常,可使用ProcessCmdKey进行屏蔽。还给出了示例代码,包括fckFunctionKey_FunctionKeyPress方法和ProcessCmdKey方法,展示了如何在特定条件下屏蔽输入Key。
7791

被折叠的 条评论
为什么被折叠?



