创建自己的 MessageBox 控件

要创建我们自己的 MessageBox 控件,只需按照下面的指南…

  1. 打开 Visual Studio 实例(VS 2008/2010/2012/2015/2017)

  2. 转到顶部的工具栏,然后单击文件 - >新建项目 - > Windows 窗体应用程序 - >为项目命名,然后单击确定。

  3. 加载后,将按钮控件从工具箱(位于左侧)拖放到窗体上(如下所示)。

https://i.stack.imgur.com/aW1q1.jpg

  1. 双击该按钮,Integrated Development Environment 将自动为你生成 click 事件处理程序。

  2. 编辑表单的代码,使其如下所示(你可以右键单击该表单,然后单击编辑代码):

namespace MsgBoxExample {
    public partial class MsgBoxExampleForm : Form {
        //Constructor, called when the class is initialised.
        public MsgBoxExampleForm() {
            InitializeComponent();
        }

        //Called whenever the button is clicked.
        private void btnShowMessageBox_Click(object sender, EventArgs e) {
           CustomMsgBox.Show($"I'm a {nameof(CustomMsgBox)}!", "MSG", "OK");
        }
    }
}
  1. 解决方案资源管理器 - >右键单击你的项目 - >添加 - > Windows 窗体并将名称设置为“CustomMsgBox.cs”

  2. 将一个按钮和标签控件从工具箱拖到窗体中(执行后看起来像下面的窗体):

https://i.stack.imgur.com/73c1M.jpg

  1. 现在将下面的代码写入新创建的表单中:
private DialogResult result = DialogResult.No;
public static DialogResult Show(string text, string caption, string btnOkText) {
    var msgBox = new CustomMsgBox();
    msgBox.lblText.Text = text; //The text for the label...
    msgBox.Text = caption; //Title of form
    msgBox.btnOk.Text = btnOkText; //Text on the button
    //This method is blocking, and will only return once the user
    //clicks ok or closes the form.
    msgBox.ShowDialog(); 
    return result;
}

private void btnOk_Click(object sender, EventArgs e) {
    result = DialogResult.Yes;
    MsgBox.Close();
}
  1. 现在只需按 F5 键即可运行程序。恭喜你,你做了一个可重复使用的控件。