1. 程式人生 > >C#:點選按鈕,彈出輸入框,輸入並獲取內容

C#:點選按鈕,彈出輸入框,輸入並獲取內容

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(控制元件),沒有這些語句就加上。
            實在不行,儲存程式碼。新建專案,把程式碼貼上過去。