winform重写的messagebox(简易版,小白可能有用)

因看不惯Windows自带的messagebox,决定自己做个,搜索了一下csdn、博客园、codeproject,在网友的一个版本做了一点点改良,效果图如下

提示文本



选择文本




附上主要代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public enum MessageBoxStyle
    {
        info = 0,
        question = 1,
        error = 2
    };

    public partial class frmMessageBox : Form
    {
        public frmMessageBox(MessageBoxStyle messageBoxStyle, string msg)
        {
            InitializeComponent();

            if (messageBoxStyle == MessageBoxStyle.info)
            {
                picICO.Image = global::WindowsFormsApplication2.Properties.Resources.info;
                this.Text = "提示";
                panel1.Visible = true;
                panel2.Visible = false;
            }
            else if (messageBoxStyle == MessageBoxStyle.question)
            {
                picICO.Image = global::WindowsFormsApplication2.Properties.Resources.question;
                this.Text = "询问";
                panel1.Visible = false;
                panel2.Visible = true;
            }
            else if (messageBoxStyle == MessageBoxStyle.error)
            {
                picICO.Image = global::WindowsFormsApplication2.Properties.Resources.error;
                this.Text = "错误";
                panel1.Visible = true;
                panel2.Visible = false;
            }

            int tempWidth = this.Width - labInfo.Width;
            if (msg.Length < 90)
            {
                this.labInfo.Text = msg;
            }
            else
            {
                this.labInfo.Text = msg.Substring(0, 90) + "......";
            }
            SizeF size = TextRenderer.MeasureText(msg, new Font("宋体", 12, FontStyle.Regular));

            int TempWidth = (int)size.Width;

            if ((size.Width + tempWidth + 4) <= this.Size.Width)
            {
                return;
            }
            else
            {
                this.Width = (int)(tempWidth + size.Width + 4);
                labInfo.Width = (int)size.Width + 4;
                panel1.Width = (int)size.Width + 4;
                panel2.Width = (int)size.Width + 4;

                int x = labInfo.Width / 2 - btnNo.Width - 10;
                int y = btnYes.Location.Y;
                btnYes.Location = new Point(x,y);

                x = labInfo.Width / 2  + 10;
                y = btnNo.Location.Y;
                btnNo.Location = new Point(x, y);
            }
        }
    }
}

源码下载地址:https://download.csdn.net/download/weepingisgood/10433409

如果本文侵犯了你的权益,请留言告知,我将予以删除。


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值