自定义延时关闭弹窗,替代MesssageBox

C# 自定义弹窗实现
本文介绍如何在C#中使用自定义窗体MessageForm创建弹窗,通过设置窗体消失时间和显示文本,利用timer控件实现定时关闭功能。

1,新建一个窗体MessageForm,在里面加一个label控件和timer

2,代码如下:

   public partial class MessageForm : Form
    {
         int t;
         string txt;
       
        /// <summary>
        /// 自定义弹窗
        /// </summary>
        /// <param name="time">窗体消失时间</param>
        /// <param name="text">窗体提示内容</param>
        public MessageForm(int time, string text)
        {
            t = time;
            txt = text;
            InitializeComponent();
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            this.Close();
        }

        private void MessageForm_Load(object sender, EventArgs e)
        {
            label1.Text = txt;
            timer1.Interval = t;
            timer1.Start();
        }
    }

3,在其他窗体调用:

    MessageForm mf = new MessageForm(3000, "输入参数有误");
                mf.Show();

 

转载于:https://www.cnblogs.com/yangwang365/p/9395622.html

connect(this, &ML_WaferManage::Sig_dispenserWorkDone, this, [=](const auto& _errorString) { if (ML_GemManager::getInstance()->isOnline() && ML_GemManager::getInstance()->isRemoteControl()) { emit ML_GemManager::getInstance()->SIG_notifyEvent(MS_EVENT::MS_EVENT_SWFinisheDisp); MS_GemGetAttrData aa; emit ML_GemManager::getInstance()->SIG_notifyStripMapStruct(aa); } if (_errorString.isEmpty()) { m_workFinished = true; emit Sig_dispenserWorSuccess(); //add ly m_WaferTimer->stop(); //点胶完成,停止计时 } else { MA_Auxiliary::promptMessageBoxWithButton(QMessageBox::Warning, tr("警告"), tr("点胶流程执行失败,是否执行送出wafer?"), { { MA_Auxiliary::createPushButton(tr("送出")), QMessageBox::Yes }, { MA_Auxiliary::createPushButton(tr("停止")), QMessageBox::No, } }, [=](auto _buttonClicked, auto _messsageBox) { Q_ASSERT(_messsageBox); _messsageBox->close(); if (_messsageBox->getButtonIndex(_buttonClicked) == QMessageBox::Yes) { m_workFinished = true; emit Sig_dispenserWorSuccess(); dataBaseLog::messageLog(ML_Logger_MS::MS_Loginfo{ ML_Logger_MS::ME_LogLevel::LV_INFO, logAuxiliary::getModule(c_LoggerModule_WorkInfo), logAuxiliary::getModule(c_LoggerKeyword_Work), tr("自动流程:点胶流程执行失败,操作员选择送出wafer"), LOG_Debug }); return; } else { m_workFinished = false; dataBaseLog::messageLog(ML_Logger_MS::MS_Loginfo{ ML_Logger_MS::ME_LogLevel::LV_INFO, logAuxiliary::getModule(c_LoggerModule_WorkInfo), logAuxiliary::getModule(c_LoggerKeyword_Work), tr("自动流程:点胶流程执行失败,操作员选择停止流程"), LOG_Debug }); } }, QMessageBox::Cancel); } }); }
最新发布
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值