自定义类似MessageBox小窗体操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义类似MessageBox小窗体操作相关的知识,希望对你有一定的参考价值。

1、实际小窗体界面如下

2、代码如下

private void InputBox(string caption,string orderNo)
        {
            Form InputForm = new Form();
            InputForm.MinimizeBox = false;
            InputForm.MaximizeBox = false;
            InputForm.StartPosition = FormStartPosition.CenterScreen;
            InputForm.Width = 375;
            InputForm.Height = 236;
            InputForm.Text = "经营分析";
            InputForm.MaximizeBox = false;
            InputForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
          
            TextBox tbE = new TextBox();
            tbE.Left = 20;
            tbE.Top =20;
            tbE.Width = 300;
            tbE.Height = 120;
            tbE.Multiline = true;
            
            tbE.Parent = InputForm;
            tbE.Text =caption;
            tbE.SelectAll();

            Label lab = new Label();
            lab.Left = 20;
            lab.Top = 145;
            lab.Height = 20;
            lab.Width = 300;
            lab.Parent = InputForm;
            lab.Text = "(提示,输入的内容限定为500个字符以内!)";

            Button btnok = new Button();
            btnok.Left =60;
            btnok.Top = 170;
            btnok.Parent = InputForm;
            btnok.Text = "确定";
            InputForm.AcceptButton = btnok;//回车响应
            btnok.DialogResult = DialogResult.OK;

            Button btncancal = new Button();
            btncancal.Left = 170;
            btncancal.Top = 170;
            btncancal.Parent = InputForm;
            btncancal.Text = "取消";
            btncancal.DialogResult = DialogResult.Cancel;
            try
            {
                if (InputForm.ShowDialog() == DialogResult.OK)
                {

                    if (tbE.Text.Trim().Length > 500) {
                        MessageBox.Show("输入的字符长度,最大不能超过         500!","温馨提示");
                        return;
                    }
                    if (String.Compare(caption, tbE.Text.Trim(), true) != 0)
                    {
                        StringBuilder strWhere = new StringBuilder();
                        string mebo = tbE.Text.Trim().Length > 50 ? tbE.Text.Trim().Substring(0, 45) + "...." : tbE.Text.Trim();
                        strWhere.AppendFormat(@" UPDATE TA_CurrencyQueryEx_Exception SET YCRemark=N\'{0}\', UpdateBy=\'{1}\', UpdateDT=\'{2}\'
                WHERE OrderNo=\'{3}\' ", tbE.Text.Trim(), SessionAuth.UserID, DateTime.Now, orderNo);
                       WinSrv.ExecuteNonQuery(strWhere.ToString(), new Object[] { });
                       txt_Col424.Text = SessionAuth.UserName;
                       txt_Col425.Text = DateTime.Now.ToString();
                       txt_Col423.Text = mebo;
                       string logInfo = "运单号 " + orderNo + "的督察分析信息,被" + SessionAuth.UserName+"修改";
                       ClsDatabase.gSetSystemLog("经营分析", logInfo, "督察分析");

                    }
                 
                }
            }
            finally
            {
                InputForm.Dispose();
            }
        }
View Code

 

以上是关于自定义类似MessageBox小窗体操作的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode 如何操作用户自定义代码片段(快捷键)

Messagebox自定义计时关闭

自定义对话框片段

【提问】Qt中如何实现类似MessageBox的Dialog?