87 lines
2.1 KiB
C#
87 lines
2.1 KiB
C#
using CoreUnit.Common;
|
|
using System;
|
|
using System.Threading;
|
|
using System.Windows.Forms;
|
|
|
|
namespace CoreUnit.Control.Dialog
|
|
{
|
|
public partial class MessageDlg : FormBase
|
|
{
|
|
public static MessageDlg messageDlg = new MessageDlg();
|
|
public enum DialogMode { MODAL, MODELESS };
|
|
|
|
public string Msg {
|
|
get { return lbMessage.Text; }
|
|
set { lbMessage.Text = value; }
|
|
}
|
|
|
|
public void Instance()
|
|
{
|
|
Name = "Message";
|
|
}
|
|
|
|
public MessageDlg()
|
|
{
|
|
InitializeComponent();
|
|
Instance();
|
|
}
|
|
|
|
public DialogResult RunDlg(string msg, bool isMessageMode, DialogMode dialogMode = DialogMode.MODELESS, string caption = "")
|
|
{
|
|
if (caption != string.Empty)
|
|
this.Text = caption;
|
|
else
|
|
this.Text = "Message";
|
|
|
|
Msg = msg;
|
|
|
|
btnOK.Enabled = !isMessageMode;
|
|
btnCancel.Enabled = !isMessageMode;
|
|
btnClose.Enabled = isMessageMode;
|
|
|
|
btnOK.Visible = !isMessageMode;
|
|
btnCancel.Visible = !isMessageMode;
|
|
btnClose.Visible = isMessageMode;
|
|
|
|
if (Visible == false) {
|
|
Show();
|
|
}
|
|
|
|
if (dialogMode == DialogMode.MODAL) {
|
|
WaitForResponse();
|
|
}
|
|
|
|
return this.DialogResult;
|
|
}
|
|
|
|
public void WaitForResponse()
|
|
{
|
|
while (true) {
|
|
Application.DoEvents();
|
|
Thread.Sleep(100);
|
|
|
|
if (Visible == false) {
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void btnCancel_Click(object sender, EventArgs e)
|
|
{
|
|
this.DialogResult = DialogResult.No;
|
|
Hide();
|
|
}
|
|
|
|
private void btnOK_Click(object sender, EventArgs e)
|
|
{
|
|
this.DialogResult = DialogResult.Yes;
|
|
Hide();
|
|
}
|
|
|
|
private void btnClose_Click(object sender, EventArgs e)
|
|
{
|
|
Hide();
|
|
}
|
|
}
|
|
}
|