美文网首页程序员
自定义MessageBox样式

自定义MessageBox样式

作者: 深夜程序员_ | 来源:发表于2020-04-06 15:24 被阅读0次

1.自定义MessageBox的弹框样式展示

2.代码片段

        static private void BuildMessageBox(string title)

        {

            newMessageBox = new MsgAlert();

            newMessageBox.Text = title;

            newMessageBox.Size = new System.Drawing.Size(400, 200);

            newMessageBox.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;

            newMessageBox.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;

            newMessageBox.Paint += new PaintEventHandler(newMessageBox_Paint);

            newMessageBox.BackColor = System.Drawing.Color.White;

            TableLayoutPanel tlp = new TableLayoutPanel();

            tlp.RowCount = 3;

            tlp.ColumnCount = 0;

            tlp.Dock = System.Windows.Forms.DockStyle.Fill;

            tlp.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 22));

            tlp.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));

            tlp.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50));

            tlp.BackColor = System.Drawing.Color.Transparent;

            tlp.Padding = new Padding(2, 5, 2, 2);

            // 标题

            frmTitle = new Label();

            frmTitle.Dock = System.Windows.Forms.DockStyle.Fill;

            frmTitle.BackColor = System.Drawing.Color.Transparent;

            frmTitle.ForeColor = System.Drawing.Color.White;

            frmTitle.Font = new Font("Tahoma", 9, FontStyle.Bold);

            // 弹出信息

            frmMessage = new Label();

            frmMessage.Dock = System.Windows.Forms.DockStyle.Fill;

            frmMessage.BackColor = System.Drawing.Color.White;

            frmMessage.Font = new Font("Tahoma", 20, FontStyle.Regular);

            frmMessage.Text = "hiii";

            largeIcon = new IntPtr[250];

            smallIcon = new IntPtr[250];

            pIcon = new PictureBox();

            ExtractIconEx("shell32.dll", 0, largeIcon, smallIcon, 250);

            // 按钮

            flpButtons = new FlowLayoutPanel();

            flpButtons.FlowDirection = System.Windows.Forms.FlowDirection.RightToLeft;

            flpButtons.Padding = new Padding(0, 5, 5, 0);

            flpButtons.Dock = System.Windows.Forms.DockStyle.Fill;

            flpButtons.BackColor = System.Drawing.Color.FromArgb(240, 240, 240);

            TableLayoutPanel tlpMessagePanel = new TableLayoutPanel();

            tlpMessagePanel.BackColor = System.Drawing.Color.White;

            tlpMessagePanel.Dock = System.Windows.Forms.DockStyle.Fill;

            tlpMessagePanel.ColumnCount = 2;

            tlpMessagePanel.RowCount = 0;

            tlpMessagePanel.Padding = new Padding(4, 5, 4, 4);

            tlpMessagePanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 50));

            tlpMessagePanel.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));

            tlpMessagePanel.Controls.Add(pIcon);

            tlpMessagePanel.Controls.Add(frmMessage);

            tlp.Controls.Add(frmTitle);

            tlp.Controls.Add(tlpMessagePanel);

            tlp.Controls.Add(flpButtons);

            newMessageBox.Controls.Add(tlp);

        }

3具体内容

https://mxdqh.top/

相关文章

网友评论

    本文标题:自定义MessageBox样式

    本文链接:https://www.haomeiwen.com/subject/ourbphtx.html