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}");