c# - 新表格问题c#

标签 c# winforms

我知道这个标题并没有表达太多,但很难用几句话来解释我想要的东西。

我有两种形式(主要和帮助)。一旦我按下主窗体上的按钮帮助窗体弹出窗口。我想要实现的是阻止用户在主窗体上做任何事情直到他关闭帮助窗体的功能。

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

希望你明白我的意思

最佳答案

这称为模态对话框,幸运的是,答案很简单;使用 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;   
    }
}

关于c# - 新表格问题c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527956/

相关文章:

c# - 如何在 Windows Phone 7 上将 JSON 解析为动态对象?

c# - Qna 和 LUIS 在下一步可以处理输入之前中断对话

c# - 在 C# win Form 中创建维恩图

在面板中打开的窗体中的 c# 组合框

.net - UserControl 句柄多久重新创建一次?

c# - 如果我从 FormView.EditMode 更改为 FormView.InsertMode,dropdownlist.databind() 时出错

c# - Json 中的键和值

c# - 如何在没有任何控件的情况下显示表单?

c# - 按日期范围过滤 WinForms DataGridView

c# - 使用围绕对话框形式的语句来确保垃圾收集