当一个特定事件出现时,我想打开一个新表格(使用ShowDialog),当这个对话框打开时,我想忽略/出列所有引发的类似事件。
有可能吗?怎么样?
我尝试管理的事件方法如下:
void barcode_Scanned(object sender, string value)
{
if(value.StartsWith("d")
{
// ShowDialog
}
}
情景:
谢谢!
答案 0 :(得分:3)
您可以在接收扫描时断开事件,并在准备好后重新连接。
void barcode_Scanned(object sender, string value)
{
barcode.Scanned -= barcode_Scanned;
// do work
barcode.Scanned += barcode_Scanned;
}
答案 1 :(得分:2)
你可以简单地使用变量或属性,例如:
private bool isDialogOpen = false;
void barcode_Scanned(object sender, string value)
{
if(value.StartsWith("d") && !isDialogOpen)
{
isDialogOpen = true;
// ShowDialog
isDialogOpen = false;
}
}
答案 2 :(得分:0)
如果你想阻止其他任何事情做,请尝试打开一个模态对话框,如果那是你需要的和/或它是否有效,那将阻止你使用其他形式的其他形式?