using System; using System.Windows.Forms; using System.Runtime.InteropServices; using Cosmos.BaseFrame; using Cosmos.UserFrame; using Cosmos.Common; using System.Drawing; namespace Cosmos.CommonManager { public partial class frmCountdownMessageBox : Form { private int m_iCountdown = 20; private string m_sMessageType; /// /// 메시지 형태(MSG_BOX_TYPE) /// public string PosMessageType { get { return this.m_sMessageType; } set { this.m_sMessageType = value; } } string m_sMessageStr; /// /// 메시지 /// public string PosMessageStr { get { return this.m_sMessageStr; } set { this.m_sMessageStr = value; } } string m_sMessageTitle; /// /// 메시지 타이틀 /// public string PosMessageTitle { get { return this.m_sMessageTitle; } set { this.m_sMessageTitle = value; } } public frmCountdownMessageBox() { InitializeComponent(); base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw, true); //this.UpdateStyles(); } private void frmCountdownMessageBox_Load(object sender, EventArgs e) { UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", ""); this.BackgroundImage = ImageManager.GetImage(BaseCom.NxImgPath, ImageManager.POP_SIZE_S); InitControl(); } private void frmCountdownMessageBox_FormClosing(object sender, FormClosingEventArgs e) { m_iCountdown = 20; tmrCountdown.Enabled = false; UserLog.WriteLogFile(UserCom.LOG_IOS, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", lblTitle.Text); } /// /// 폼 컨트롤 초기화 /// private void InitControl() { try { CmMessage m_PosConfig = CmMessage.MakeMessageFromFile(BaseCom.NxIniPath + PosConst.INI_FILE_NAME.PosConfig); string sFont = m_PosConfig.GetMessage("GLOBAL").GetMessageValue("Font"); FormManager.SetFormAllControlFont(this, sFont); picTabImg1.Image = CmUtil.LoadImage(BaseCom.NxImgPath + "TagImg_00207_03.png"); lblTitle.BackColor = Color.FromArgb(70, 86, 98); lblTitle.ForeColor = Color.White; // Color.FromArgb(35, 31, 32); lblTitle.Text = m_sMessageTitle; switch (m_sMessageType) { case PosConst.MSG_BOX_TYPE.CONFIRM: // 확인메시지 btnYes.Visible = false; btnNo.Visible = false; btnEsc.Visible = true; lblMessage.Text = m_sMessageStr; btnEsc.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0009); //확인 break; case PosConst.MSG_BOX_TYPE.QUESTION: // 질문메시지(예,아니오) btnEsc.Visible = false; btnYes.Visible = true; btnNo.Visible = true; btnYes.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0025); btnNo.Text = MessageManager.GetLabelMessage(POS_MESSAGE.LABEL.MSG_0026); lblMessage.Text = string.Format("{0}\n{1} {2}", m_sMessageStr, m_iCountdown, MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0367)); tmrCountdown.Enabled = true; m_iCountdown = 20; break; } this.TopMost = true; } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "Process Exception !!! " + ex.Message); } } /// /// 버튼 입력 처리 /// /// /// private void btnProc_Click(object sender, EventArgs e) { try { if (((Cosmos.UI.CsmButton)sender) == btnEsc) { this.DialogResult = DialogResult.OK; this.Close(); } if (((Cosmos.UI.CsmButton)sender) == btnYes) { this.DialogResult = DialogResult.Yes; this.Close(); } if (((Cosmos.UI.CsmButton)sender) == btnNo) { this.DialogResult = DialogResult.No; this.Close(); } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "Process Exception !!! " + ex.Message); } } /// /// 카운다운 타이머 /// /// /// private void tmrCountdown_Tick(object sender, EventArgs e) { try { tmrCountdown.Enabled = false; if (m_iCountdown == 0) { btnProc_Click(btnYes, null); } else { m_iCountdown--; lblMessage.Text = string.Format("{0}\n{1} {2}", m_sMessageStr, m_iCountdown, MessageManager.GetErrorMessage(POS_MESSAGE.ERROR.MSG_0367)); tmrCountdown.Enabled = true; } } catch (Exception ex) { UserLog.WriteLogFile(UserCom.LOG_ERROR, System.Reflection.Assembly.GetExecutingAssembly().ManifestModule.Name, System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "." + System.Reflection.MethodBase.GetCurrentMethod().Name + "()", "Process Exception !!! " + ex.Message); } } } }