创建自己的 MessageBox 控件
要创建我们自己的 MessageBox 控件,只需按照下面的指南…
-
打开 Visual Studio 实例(VS 2008/2010/2012/2015/2017)
-
转到顶部的工具栏,然后单击文件 - >新建项目 - > Windows 窗体应用程序 - >为项目命名,然后单击确定。
-
加载后,将按钮控件从工具箱(位于左侧)拖放到窗体上(如下所示)。
https://i.stack.imgur.com/aW1q1.jpg
-
双击该按钮,Integrated Development Environment 将自动为你生成 click 事件处理程序。
-
编辑表单的代码,使其如下所示(你可以右键单击该表单,然后单击编辑代码):
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");
}
}
}
-
解决方案资源管理器 - >右键单击你的项目 - >添加 - > Windows 窗体并将名称设置为“CustomMsgBox.cs”
-
将一个按钮和标签控件从工具箱拖到窗体中(执行后看起来像下面的窗体):
https://i.stack.imgur.com/73c1M.jpg
- 现在将下面的代码写入新创建的表单中:
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();
}
- 现在只需按 F5 键即可运行程序。恭喜你,你做了一个可重复使用的控件。