2011-06-29 37 views
2

我知道这个标题没有多说,但它真的很难解释我想要的几句话。新形式问题c#

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

我不喜欢使用可见控件,但我想要在某些程序中看到某种效果,当用户尝试单击主窗体帮助窗体时出现“闪烁”以及错误声音播放。一旦用户关闭帮助方式程序照常

希望你明白我的意思

回答

7

这就是所谓的模态对话框,幸运的是,答案是简单的;使用ShowDialog方法而不是使用Show显示孩子Form。这是一个阻塞调用,在子窗体/对话框关闭之前不会返回,所以这意味着您可以检查返回值和任何属性,如果需要紧跟该代码行之后(可能对帮助窗口无用,但在大多数情况下,检查用户的行为是有用的)。

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; 
    } 
} 
+0

wooow,不能相信,答案是如此简单,thxxx – Anthony

+0

这不是帮助的形式(我把它命名为左右)我计划将结果保存到文件并加载它,但这样会更好,再次thxx – Anthony