Пользовательский MessageBox для ошибок и информации - PullRequest
1 голос
/ 15 января 2012

Исходя из моих исследований, единственный способ получить форму MessageBox для центрирования в родительской форме - это написать собственный класс MessageBox. Я успешно внедрил форму CustomMessageBox и могу центрировать свои ошибки и информационные сообщения в родительской форме. Однако я не могу понять, как сделать форму CustomMessageBox статической, чтобы мне не приходилось создавать экземпляр моей новой формы CustomMessageBox. Я хочу иметь возможность просто вызывать статический метод, как показано ниже:

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;

        }
    }
}

1 Ответ

2 голосов
/ 15 января 2012

Примерно так:

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!");

Примерно так, просто идея.

Если это не то, что вы просите, уточните.

...