2026-01-26 14:51:28 +09:00

92 lines
2.1 KiB
C#

using System;
using System.Windows.Forms;
using System.Threading;
using CoreUnit.Common;
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();
}
}
}