我知道这个标题说的不多,但是用几句话来解释我想要的东西真的很困难。

我有两种形式(主要和帮助)。一旦我按下主窗体上的按钮,帮助窗体就会弹出。我要实现的功能是阻止用户在主窗体上执行任何操作,直到他关闭帮助窗体。

我不想使用可见的控件,但是我想在某些程序上产生一种效果,当用户尝试单击主窗体帮助窗体“闪烁”时会出现错误声音播放。一旦用户关闭帮助表单程序照常工作

希望你明白我的意思

最佳答案

这称为模式对话框,幸运的是,答案很简单。使用Form方法而不是ShowDialog来显示子Show。这是一个阻塞调用,直到关闭子窗体/对话框后才会返回,因此这意味着您可以在该代码行之后立即检查返回值和任何属性(可能对帮助窗口没有用,但是在在大多数情况下,检查用户的操作很有用)。

using( var dlg = new MyHelpDialog() )
{
    if( dlg.ShowDialog() == DialogResult.OK )
    {
        // user chose "OK", do something (?)
        // you can also access properties of the form after the fact
        string whatever = dlg.SomeStringProperty;
    }
}

10-04 21:11