c#彈窗輸入字串並獲取到輸入內容的一種方法

稳稳地稳稳地發表於2024-10-28

1,C#沒有輸入框可供直接使用,我們除了可以透過使用VB中庫檔案自帶的Inputbox方法呼叫以為,可以自編一個;下面是完整的InputDialog類,可以直接或者稍作修改使用:

  public static class InputDialog
        {
            // 顯示輸入對話方塊並返回使用者輸入的內容
            public static string ShowDialog()
            {
                // 建立一個新的Form作為輸入對話方塊
                Form inputForm = new Form
                {
                    Width = 300,
                    Height = 100,
                    Text = "輸入對話方塊",
                    MaximizeBox=false,
                    MinimizeBox=false,
                    FormBorderStyle= FormBorderStyle.FixedSingle,
                    StartPosition= FormStartPosition.CenterScreen

                };

                // 建立一個TextBox供使用者輸入內容
                TextBox inputTextBox = new TextBox
                {
                    Location = new System.Drawing.Point(10, 10),
                    Width = 260
                };

                // 建立一個按鈕,點選後關閉對話方塊並返回輸入內容
                Button okButton = new Button
                {
                    Text = "確定",
                    Location = new System.Drawing.Point(90, 35)
                };

                // 定義一個字串變數來儲存使用者輸入的內容
                string userInput = "";

                // 為按鈕的點選事件新增事件處理程式
                okButton.Click += (sender, e) =>
                {
                    // 獲取使用者輸入的內容
                    userInput = inputTextBox.Text;

                    // 關閉對話方塊
                    inputForm.Close();
                };

                // 將TextBox和Button新增到Form中
                inputForm.Controls.Add(inputTextBox);
                inputForm.Controls.Add(okButton);

                // 顯示對話方塊並等待使用者輸入
                inputForm.ShowDialog();

                // 返回使用者輸入的內容
                return userInput;
            }



            public static DialogResult Show(out string strText)
            {
                string strTemp = string.Empty;

                FrmInputDialog inputDialog = new FrmInputDialog();
                inputDialog.TextHandler = (str) => { strTemp = str; };

                DialogResult result = inputDialog.ShowDialog();
                strText = strTemp;

                return result;
            }
    }

2,呼叫方法:

            string strcontent = InputDialog.ShowDialog();
            MessageBox.Show($"輸入值:==={strcontent}");

相關文章