c# - 消息框模式

标签 c# winforms messagebox

我已经断断续续地工作了一段时间,但基本上我有一个我调用的类来显示消息框。

我试图让我的消息框成为模态的,如果您指定要模态的表单,这很容易完成。

所以我的表格是这样声明的

public partial class MainForm : Form

它是这样实例化的
var mainForm = new MainForm();

所以我有一个类,其中包含打开这样的消息框的方法
MainForm.ActiveForm.Invoke(new MethodInvoker(delegate
{
    MessageBox.Show(MainForm.ActiveForm, message, title, buttons, icon);
}));

这很好用,但只有当表单处于事件状态时,事件表单才有效.....

无论如何,有没有简单的方法解决这个问题?

最佳答案

这对我有用:

MessageBox.Show(Form.ActiveForm,"Finished processing", "Process finished", , MessageBoxButtons.OK, MessageBoxIcon.Information);

Form.ActiveForm 会为您提供当前事件的表单,即使您从任何其他类提升 MessageBox 也是如此。

关于c# - 消息框模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13277952/

相关文章:

c# - 使用 MEF 忽略构造函数异常,而 Visual Studio 不会在异常处中断

c# - 透明键失效怎么办?

c# - 如何将光标放置在屏幕的精确中心

c# - C#中的快速字符串解析

c# - 如何在不丢失任何列的情况下读取 c# 中的 excel 文件?

c# - 在不移动位置的情况下将字节附加到 MemoryStream

c# - 从 C# winform 中的 SQL 存储过程返回结果和消息

python - tkinter.Button 在退出事件处理后保留按下状态的外观

c++ - 无法在 mfc 中用 CTaskDialog 替换经典消息框

c# - WPF MessageBox 按钮不是操作系统主题