用于错误和信息的自定义MessageBox

本文关键字:自定义 MessageBox 信息 错误 用于 | 更新日期: 2023-09-27 18:20:32

根据我的研究,让MessageBox窗体以父窗体为中心的唯一方法是编写一个自定义MessageBox类。我已经成功地实现了CustomMessageBox表单,并且能够将错误和信息消息集中在父表单上。但是,我不知道如何使CustomMessageBox窗体成为静态的,这样我就不必实例化我的新CustomMessageBox Form。我希望能够只调用如下静态方法:

CustomMessageBox.Show(类型、消息等)

MessageBox类的基本版本如下。理想情况下,我希望拥有显示此表单的功能,而无需实例化我的CustomMessageForm。这可能吗?

namespace MarineService
{
    public partial class CustomMessageForm : DevExpress.XtraEditors.XtraForm
    {
        private static CustomMessageForm form = new CustomMessageForm();
        public CustomMessageForm()
        {
            InitializeComponent();
        }
        public void ShowDialog(string type, string message)
        {
            this.Text = type + "Information";
            this.groupMessage.Text = type + "Information";
            this.memoEditMessage.Lines[0] = message;
        }
    }
}

用于错误和信息的自定义MessageBox

类似这样的东西:

public partial class CustomMessageForm : DevExpress.XtraEditors.XtraForm
{
        private static CustomMessageForm form = new CustomMessageForm();
        public CustomMessageForm()
        {
            InitializeComponent();
        }
        private void ShowDialog(string type, string message)
        {
            form .Text = type + "Information";
            form .groupMessage.Text = type + "Information";
            form .memoEditMessage.Lines[0] = message;
            form.ShowDialog();
        }
        public static Show(string type, string message)
        {
           if(form.Visible)
              form.Close();
           ShowDialog(type, message);
        }
}

像这样使用:

CustomMessageForm.Show("customtype", "warning!");

类似的东西,只是一个想法。

如果这不是你想要的,请澄清。