建立自己的 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 鍵即可執行程式。恭喜你,你做了一個可重複使用的控制元件。