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

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();
}
}
}