C#:點選按鈕,彈出輸入框,輸入並獲取內容
阿新 • • 發佈:2018-12-11
1.起因
一開始是直接用 TextBox接收使用者的輸入內容,但是有時候不想在窗體上加控制元件,所以就想到了另一種辦法,彈出一個輸入框,輸入並獲取內容,之後輸入框又消失不見,不佔位置。
2.用法
先要在專案中引入框架 Microsoft.VisualStudio
再引入名稱空間 using Microsoft.VisualBasic;
之後便可以使用了 Interaction.InputBox()
程式碼如下:
using Microsoft.VisualBasic; using System; using System.Threading; using System.Windows.Forms; namespace WindowsFormsApp13 { public partial class Form1 : Form { //當前執行緒的上下文 static SynchronizationContext synt; //執行緒切換,非同步執行要用到 public Form1() { synt = SynchronizationContext.Current; //不能在申明時初始化 InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { //最後兩個引數一般為-1 String s = Interaction.InputBox("提示文字", "標題","輸入框預設內容",-1,-1); this.result.Text = s; } } }
一般可以對獲取的內容做一個判斷,再操作
if (!String.IsNullOrEmpty(s)) {
this.result.Text = s;
}
//其它問題:
有時候介面的程式碼還在,但是介面在執行時卻看不到了(發生概率很小,我真的遇見過)
這個時候,不要急於點編譯執行,可以關閉專案,再重新開啟專案。
或者在 InitializeComponent()中檢視窗體有沒有this.controls.Add(控制元件),沒有這些語句就加上。
實在不行,儲存程式碼。新建專案,把程式碼貼上過去。