C# - Используйте форму вместо messagebox

Я работаю над приложением для работы, и мне нужен специализированный messagebox для появления. Я создал простую форму по имени Alert.cs, что я разработал способ, которым я хочу и добавил одну кнопку с методом щелчка этого. Близко (). теперь я хочу, чтобы это вело себя точно как стандарт messagebox.show (). У меня есть показ формы, но когда я использую стандарт messagebox.show ("текст предупреждения") это ожидает для продолжения операции, пока пользователь не нажимает 'OK', это - то, что я хочу, чтобы форма сделала.

8
задан Jake Sankey 1 March 2010 в 06:10
поделиться

4 ответа

Вам нужно будет реализовать статический метод для вашего класса Alert, если вы хотите точное поведение, подобное MessageBox.

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

Теперь вы можете использовать форму, вызвав:

Alert.Show("my message");
6
ответ дан 5 December 2019 в 07:58
поделиться

Используйте Form.ShowDialog (); . Это позволяет форме действовать так же, как MessageBox , в том смысле, что она сохраняет фокус до закрытия.

12
ответ дан 5 December 2019 в 07:58
поделиться

Вы можете использовать модальную форму окна. Что-то вроде

Form frm = new Form();
frm.ShowDialog(this);

См. Метод Form.ShowDialog

Показывает форму как модальное диалоговое окно с текущим активным окном, установленным в качестве его владельца.

Отображение модальных и немодальных форм Windows

3
ответ дан 5 December 2019 в 07:58
поделиться

Вы не пишете, как вы сейчас отображаете форму оповещения, но вызов

alert.ShowDialog();

вместо alert.Show () должен помочь.

ShowDialog, который принимает владельца, является еще лучшей альтернативой:

alert.ShowDialog(owner);
0
ответ дан 5 December 2019 в 07:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: