摘 要:在WinForms中,TextBox控件稱(chēng)為文本框控件。文本框控件的主要功能是接收用戶的輸入信息,當(dāng)然也可以輸出或顯示信息。本文通過(guò)舉例簡(jiǎn)要介紹如何對(duì)文本框中輸入的文字進(jìn)行復(fù)制、剪切和粘貼、文本的對(duì)齊,讀取關(guān)于文本的相關(guān)信息等。
關(guān)鍵詞:TextBox;Cick事件;屬性;方法
中圖分類(lèi)號(hào):TP311.1
在WinForms的界面設(shè)計(jì)中,任何一個(gè)界面設(shè)計(jì)都離不開(kāi)內(nèi)容的輸入,都少不了TextBox控件的存在。比如用戶登錄界面的設(shè)計(jì),記事本程序等,都要借助于TextBox控件來(lái)實(shí)現(xiàn)輸入;那么,TextBox控件中常用的屬性和方法有哪些呢?下面是本文例子中用到的TextBox控件的成員及說(shuō)明。
HideSelection屬性:當(dāng)編輯控件失去焦點(diǎn)時(shí),應(yīng)隱藏選定內(nèi)容
SelectedText屬性:獲取或設(shè)置一個(gè)值,該值指示當(dāng)前控件中選定的文本
SelectionLength屬性:獲取或設(shè)置文本框中選定的字符數(shù)
TextLength屬性:獲取控件中文本的長(zhǎng)度
TextAlign屬性:指示應(yīng)該如何對(duì)齊編輯控件的文本
Copy()方法:將文本框中的當(dāng)前選定內(nèi)容復(fù)制到“剪貼板”
Cut()方法:將文本框中的當(dāng)前選定內(nèi)容移動(dòng)到“剪貼板”
Paste()方法:用剪貼板的內(nèi)容替換TextBox中指定的選定內(nèi)容
SelectAll()方法:選定文本框中的所有文本
Focus()方法:為控件設(shè)置輸入焦點(diǎn)
通過(guò)實(shí)現(xiàn)如圖1所示界面來(lái)描述TextBox控件中各屬性及方法的使用。
圖1
界面中所用到的按鈕控件類(lèi)別、名稱(chēng)及標(biāo)題如下,標(biāo)簽控件名稱(chēng)采取默認(rèn)值。
TextBox控件:名稱(chēng)txtTest,無(wú)標(biāo)題
Form窗體:名稱(chēng)FrmTextBox,標(biāo)題“文本框控件的使用”
Button按鈕:名稱(chēng)btnCopy,標(biāo)題“復(fù)制”
Button按鈕:名稱(chēng)btnCut,標(biāo)題“剪切”
Button按鈕:名稱(chēng)btnPaste,標(biāo)題“粘貼”
Button按鈕:名稱(chēng)btnAll,標(biāo)題“全選”
Button按鈕:名稱(chēng)btnExit,標(biāo)題“退出”
Button按鈕:名稱(chēng)btnInfo,標(biāo)題“顯示詳細(xì)信息”
Button按鈕:名稱(chēng)btnLeft,標(biāo)題為
Button按鈕:名稱(chēng)btnCenter,標(biāo)題為
Button按鈕:名稱(chēng)btnRight,標(biāo)題為
實(shí)現(xiàn)的功能描述如下:(1)單擊“復(fù)制”按鈕,選中文本的內(nèi)容復(fù)制到“剪貼板”中,“粘貼”按鈕可用,TextBox控件中選定的文本呈選中的狀態(tài);(2)單擊“剪切”按鈕,選中文本的內(nèi)容移動(dòng)到“剪貼板”中,“粘貼”按鈕可用,光標(biāo)在TextBox控件中閃爍;(3)單擊“粘貼”按鈕,將“復(fù)制”或“剪切”的文本內(nèi)容粘貼到TextBox控件指定位置處,且光標(biāo)在TextBox控件中閃爍;(4)單擊“退出”,結(jié)束程序的運(yùn)行;(5)單擊“顯示詳細(xì)信息”按鈕,顯示對(duì)應(yīng)的信息值;(6)單擊“左對(duì)齊”按鈕,TextBox控件中的文本內(nèi)容左對(duì)齊;(7)單擊“居中對(duì)齊”按鈕,TextBox控件中的文本內(nèi)容居中對(duì)齊;(8)單擊“右對(duì)齊”按鈕,TextBox控件中的文本內(nèi)容右對(duì)齊。
建立界面,并設(shè)置相關(guān)屬性,對(duì)有圖像的按鈕,先設(shè)置對(duì)應(yīng)按鈕的Image屬性,并刪除對(duì)應(yīng)按鈕的Text屬性中的值;對(duì)于TextBox控件,設(shè)置Multiline屬性值為T(mén)rue,然后用鼠標(biāo)拖動(dòng)的方式改變?cè)摽丶诖绑w中的大小。對(duì)應(yīng)代碼如下:
//屬性的初始化代碼
private void FrmTextBox_Load(object sender, EventArgs e)
{this.txtTest.HideSelection = 1; this.btnPaste.Enabled = 1;}
其余代碼如下:
// btnCopy控件的Click事件關(guān)聯(lián)的方法。
private void btnCopy_Click(object sender, EventArgs e)
{this.txtTest.Copy(); this.btnPaste.Enabled = true; }
// btnCut控件的Click事件關(guān)聯(lián)的方法。
private void btnCut_Click(object sender, EventArgs e)
{this.txtTest.Cut(); this.btnPaste.Enabled = true;
this.txtTest.Focus();}
// btnPaste控件的Click事件關(guān)聯(lián)的方法。
private void btnPaste_Click(object sender, EventArgs e)
{this.txtTest.Paste(); this.txtTest.Focus(); }
// btnAll控件的Click事件關(guān)聯(lián)的方法
private void btnALL_Click(object sender, EventArgs e)
{this.txtTest.SelectAll();}
// btnExit控件的Click事件關(guān)聯(lián)的方法。
private void btnExit_Click(object sender, EventArgs e)
{Application.Exit();}
// btnLeft按鈕的Click事件關(guān)聯(lián)的方法。
private void btnLeft_Click(object sender, EventArgs e)
{this.txtTest.TextAlign = HorizontalAlignment.Left;}
// btnCenter按鈕的Click事件關(guān)聯(lián)的方法。
private void btnCenter_Click(object sender, EventArgs e)
{this.txtTest.TextAlign = HorizontalAlignment.Center;}
// btnRight按鈕的Click事件關(guān)聯(lián)的方法。
private void btnRight_Click(object sender, EventArgs e)
{this.txtTest.TextAlign = HorizontalAlignment.Right; }
// btnInfo按鈕的Click事件關(guān)聯(lián)的方法。
private void btnInfo_Click(object sender, EventArgs e)
{this.label4.Text = this.txtTest.SelectionLength.ToString();
this.label5.Text = this.txtTest.SelectedText;
this.label6.Text = this.txtTest.TextLength.ToString();}
TextBox控件的應(yīng)用非常廣泛,借助于該控件,我們能實(shí)現(xiàn)文本的輸入輸出,上面的例子只是對(duì)TextBox控件有個(gè)初步的認(rèn)識(shí)。只要你熟練掌握TextBox控件的各個(gè)屬性、方法及事件,相信你會(huì)實(shí)現(xiàn)更多的功能,并更好的應(yīng)用到各種開(kāi)發(fā)程序中。
參考文獻(xiàn):
[1]C#計(jì)算器.互聯(lián)網(wǎng)文檔資源(http://wenku.baidu.c),百度文庫(kù),2012-09-23.
作者簡(jiǎn)介:韓淑芹(1975.09-),女,山東青州人,教師,講師,工學(xué)學(xué)士,研究方向:計(jì)算機(jī)應(yīng)用軟件開(kāi)發(fā)。
作者單位:濰坊工程職業(yè)學(xué)院,山東濰坊 262500