我知道这个标题说的不多,但是用几句话来解释我想要的东西真的很困难。
我有两种形式(主要和帮助)。一旦我按下主窗体上的按钮,帮助窗体就会弹出。我要实现的功能是阻止用户在主窗体上执行任何操作,直到他关闭帮助窗体。
我不想使用可见的控件,但是我想在某些程序上产生一种效果,当用户尝试单击主窗体帮助窗体“闪烁”时会出现错误声音播放。一旦用户关闭帮助表单程序照常工作
希望你明白我的意思
最佳答案
这称为模式对话框,幸运的是,答案很简单。使用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;
}
}