C# - 使用表单而不是消息框

时间:2010-03-01 06:10:58

标签: c# messagebox

我正在处理工作申请,我需要一个自定义的消息框才能显示。我创建了一个名为Alert.cs的简单表单,我按照我想要的方式设置了样式,并添加了一个按钮,其中包含this.Close()的单击方法。现在我希望它的行为与标准的messagebox.show()完全相同。我有表格显示,但当我使用标准的messagebox.show(“警告文本”)时,它等待继续操作,直到用户点击“确定”,这是我希望表格做的。

4 个答案:

答案 0 :(得分:12)

使用Form.ShowDialog();。这使得表单的行为方式与MessageBox相同,因为它在关闭前保持焦点。

答案 1 :(得分:6)

如果您想要类似MessageBox的行为,则需要为Alert类实现静态方法。

public static DialogResult Show(string text)
{
    Alert form = new Alert(text);
    return form.ShowDialog();
}

现在您可以通过调用

来使用该表单
Alert.Show("my message");

答案 2 :(得分:3)

您可以使用模态窗体。像

这样的东西
Form frm = new Form();
frm.ShowDialog(this);

参见 Form.ShowDialog Method

  

将表单显示为模式对话框   使用当前活动的窗口集   作为它的主人。

<强> Displaying Modal and Modeless Windows Forms

答案 3 :(得分:0)

您不会写出当前显示警报表格的方式,而是打电话

alert.ShowDialog();

而不是alert.Show()应该做的伎俩。

拥有所有者的ShowDialog是一个更好的选择:

alert.ShowDialog(owner);