• c# 自定义控件-提示框(弹框)


    分带取消按钮和不带取消按钮的

    调用方法:

    frmMessageBox frm = new frmMessageBox("提示", "数据连接失败,请重试!", 0);
    frm.ShowDialog();
    frm.Dispose();
    GC.Collect();
    frmMessageBox frm = new frmMessageBox("删除用户", "确定删除用户?", 1);
    frm.ShowDialog();
    frm.Dispose();//模式窗体不会自动调用资源清理,需手动清理,否则会内存溢出 
    GC.Collect();
    if (frm.DialogResult != DialogResult.OK) return;
    //执行的操作

    自定义:

    public partial class frmMessageBox : Form
        {
            private bool normalmoving = false;
            private Point oldMousePosition;
    
            /// <summary>
            /// type=0/1:0表示无取消按钮;1表示有确定和取消按钮
            /// </summary>
            /// <param name="type"></param>
            public frmMessageBox(int type)
            {
                InitializeComponent();
                InitButton(type);
            }
    
            private void InitButton(int type)
            {
    
                if (type == 0)
                {
                    this.btnOK.Location = new System.Drawing.Point(195, 160);
                    this.button2.Visible = false;
                }
            }
    
            public frmMessageBox(string Title, string Message, int type):this(type)
            {
                this.Message = Message;
                this.Title = Title;
            }
            /// <summary>
            /// Message
            /// </summary>
            public string Message
            {
                set
                {
                    this.lblMessage.Text = value;
                }
            }
            /// <summary>
            /// Title
            /// </summary>
            public string Title
            {
                set
                {
                   this.lblTitle.Text = value;
    
                }
            }
    
    
            /// <summary>
            /// 确定事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void btnOK_Click(object sender, EventArgs e)
            {
                //1.返回一个值,给调用者
                this.DialogResult = DialogResult.OK;
                //2.关闭
                this.Close();
            }
            /// <summary>
            /// 取消事件
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void picCancle_Click(object sender, EventArgs e)
            {
                this.DialogResult = DialogResult.Cancel;
                this.Close();
            }
    
            private void frmMessageBox_Load(object sender, EventArgs e)
            {
    
            }
            #region 标题栏的相关事件
            private void pnlTitle_MouseDown(object sender, MouseEventArgs e)
            {
                if (this.WindowState == FormWindowState.Maximized)
                {
                    return;
                }
                //Titlepanel.Cursor = Cursors.NoMove2D;
                oldMousePosition = e.Location;
                //moving = true;
                normalmoving = true;
            }
    
            private void pnlTitle_MouseMove(object sender, MouseEventArgs e)
            {
                //如果leftlag为true则进行移动
                if (!normalmoving) return;
                if (e.Button == MouseButtons.Left && normalmoving)
                {
                    Point newposition = new Point(e.Location.X - oldMousePosition.X, e.Location.Y - oldMousePosition.Y);
                    this.Location += new Size(newposition);
                    //if (MousePosition.Y <= 0)
                    //{
                    //    this.WindowState = FormWindowState.Maximized;
                    //    maxmoving = false;
                    //}
                }
            }
    
            private void pnlTitle_MouseUp(object sender, MouseEventArgs e)
            {
                if (normalmoving)
                {
                    normalmoving = false;
                }
            }
            #endregion
        }
  • 相关阅读:
    Python 虚拟环境 virtualenv
    Python
    开发语言之---Java
    LINUX系统
    关系型数据库之MySQL
    开发语言之---Python
    框架之---Django
    递归/面向过程编程
    迭代器/生成器函数及协程函数的编写和使用
    装饰器的编写及使用
  • 原文地址:https://www.cnblogs.com/zhoushuang0426/p/11994704.html
Copyright © 2020-2023  润新知