У меня следующая ситуацияАльтернатива Application.DoEvents() в МОФ
kl.KeyDown += CheckPwd;
while(flag)
System.Windows.Forms.Application.DoEvents();
//continue other code based on "Success"
//This will be called for every keydown
void CheckPwd(object sender, KeyEventArgs e)
{
//some code here
if(....)
{
flag = true;
Success = true;
kl.KeyDown -= CheckPwd;
}
else
{
flag = true;
Success = false;
kl.KeyDown -= CheckPwd;
}
}
Здесь я хочу, чтобы избежать использования Application.DoEvents()
. Я пробовал использовать ManualResetEvent
, но когда я звоню WaitOne()
, он блокирует текущий поток, и это вызывает CheckPwd
. Как я могу это достичь?
Появляется [проблема XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Расскажите, чего вы пытаетесь достичь. –
http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx – cadrell0
@SriramSakthivel здесь я хочу избежать Application.DoEvents(), но добиться того же результата. – Rajeev