0

在我的应用程序中出现了以下问题:某些对话表单可以在绘制之前进行交互。

代码如下:

void FunctionCalledFromButtonPressHandler()
{
    var f = new MyDialog();
    if (f.ShowDialog() == DialogResult.OK)
    {
    //do things
    }
}

开始表单和对话框表单(丢失它的)上的按钮在触摸屏上相互重叠。如果plac被点击两次,则对应于dialog窗体的加载有一个暂停,然后在没有显示的情况下继续启动窗体中的wotk/

我应该如何防止这种行为(也就是说,除了消除对话框加载的延迟)?

4

1 回答 1

0

设置'Button.Enabled = false;' 在启动方法内的起始表单上。

void FunctionCalledFromButtonPressHandler()
{
    YOURBUTTON.Enabled = false;
    var f = new MyDialog();
    if (f.ShowDialog() == DialogResult.OK)
    {
    //do things
    }
    YOURBUTTON.Enabled = true;
}

然后在您的对话框表单中设置Button.Enabled = false;表单构造函数中的另一个。Shown然后您可以在这样的事件中将按钮设置为启用:

void MyDialog_Shown(object sender, EventArgs e)
{
    OTHERBUTTON.Enabled = true;
}
于 2013-01-11T16:01:00.783 回答