Dreamine.UI.WinForms 1.0.1
Dreamine.UI.WinForms 사용자 인터페이스 기능과 구성 요소를 제공합니다.
로딩중...
검색중...
일치하는것 없음
DreamineMessageBox.cs
이 파일의 문서화 페이지로 가기
1using System.Windows.Forms;
2
4
13public static class DreamineMessageBox
14{
23 private static bool _isOpen;
32 private static string? _lastTitle;
41 private static string? _lastMessage;
42
115 public static DialogResult Show(
116 string message,
117 string title = "Information",
118 MessageBoxButtons buttons = MessageBoxButtons.OK,
119 MessageBoxIcon icon = MessageBoxIcon.None,
120 DialogResult autoClick = DialogResult.None,
121 int autoClickDelaySeconds = 0,
122 int enableDelaySeconds = 0)
123 {
124 using var form = new DreamineMessageBoxForm(title, message, icon, buttons, autoClick, autoClickDelaySeconds, enableDelaySeconds);
125 form.ShowDialog();
126 return form.Result;
127 }
128
201 public static void ShowAsync(
202 string message,
203 string title = "Information",
204 MessageBoxButtons buttons = MessageBoxButtons.OK,
205 MessageBoxIcon icon = MessageBoxIcon.None,
206 Action<DialogResult>? callback = null,
207 DialogResult autoClick = DialogResult.None,
208 int autoClickDelaySeconds = 0,
209 int enableDelaySeconds = 0)
210 {
211 if (_isOpen && _lastTitle == title && _lastMessage == message)
212 return;
213
214 _isOpen = true;
215 _lastTitle = title;
216 _lastMessage = message;
217
218 var form = new DreamineMessageBoxForm(title, message, icon, buttons, autoClick, autoClickDelaySeconds, enableDelaySeconds);
219 form.FormClosed += (_, _) =>
220 {
221 _isOpen = false;
222 _lastTitle = null;
223 _lastMessage = null;
224 try { callback?.Invoke(form.Result); }
225 finally { form.Dispose(); }
226 };
227 form.Show();
228 }
229}
static DialogResult Show(string message, string title="Information", MessageBoxButtons buttons=MessageBoxButtons.OK, MessageBoxIcon icon=MessageBoxIcon.None, DialogResult autoClick=DialogResult.None, int autoClickDelaySeconds=0, int enableDelaySeconds=0)
static void ShowAsync(string message, string title="Information", MessageBoxButtons buttons=MessageBoxButtons.OK, MessageBoxIcon icon=MessageBoxIcon.None, Action< DialogResult >? callback=null, DialogResult autoClick=DialogResult.None, int autoClickDelaySeconds=0, int enableDelaySeconds=0)