天天看點

52.C# Textbox控件

摘要

TextBox:控件,又稱為文本框控件,它主要用于擷取使用者輸入的資料或者顯示文本,它通常用于可編輯文本,也可以使其成為隻讀控件。

通過控件 TextBox ,使用者可以在應用程式中輸入文本。 此控件具有在标準Windows文本框控件中找不到的其他功能,包括多行編輯和密碼字元掩碼。

正文

通常,控件 TextBox 用于顯示或接受作為輸入的單行文本。 可以使用 Multiline 和 ScrollBars 屬性來啟用顯示或輸入多行文本。

屬性

AllowDrop 擷取或設定一個值,該值訓示控件是否可以接受使用者拖放到它上面的資料。<br><br>(繼承自 Control)
Anchor 擷取或設定控件綁定到的容器的邊緣并确定控件如何随其父級一起調整大小。<br><br>(繼承自 Control)
AutoCompleteCustomSource 擷取或設定一個自定義 StringCollection,以便在 AutoCompleteSource 屬性被設定為 CustomSource 時使用。
AutoCompleteMode 擷取或設定一個選項,該選項控制自動完成應用于 TextBox 的方式。
AutoCompleteSource 擷取或設定一個值,該值指定用于自動完成的完整字元串的源。
BackColor 擷取或設定控件的背景色。<br><br>(繼承自 TextBoxBase)
Dock 擷取或設定哪些控件邊框停靠到其父控件并确定控件如何随其父級一起調整大小。<br><br>(繼承自 Control)
Enabled 擷取或設定一個值,該值訓示控件是否可以對使用者互動作出響應。<br><br>(繼承自 Control)
Height 擷取或設定控件的高度。<br><br>(繼承自 Control)
Left 擷取或設定控件左邊緣與其容器的工作區左邊緣之間的距離(以像素為機關)。<br><br>(繼承自 Control)
Lines 擷取或設定文本框控件中的文本行。<br><br>(繼承自 TextBoxBase)
Location 擷取或設定該控件的左上角相對于其容器的左上角的坐标。<br><br>(繼承自 Control)
Margin 擷取或設定控件之間的空間。<br><br>(繼承自 Control)
MaximumSize 擷取或設定大小,該大小是 GetPreferredSize(Size) 可以指定的上限。<br><br>(繼承自 Control)
MaxLength 擷取或設定使用者可在文本框控件中鍵入或粘貼的最大字元數。<br><br>(繼承自 TextBoxBase)
MinimumSize 擷取或設定大小,該大小是 GetPreferredSize(Size) 可以指定的下限。<br><br>(繼承自 Control)
Multiline 擷取或設定一個值,該值訓示這是否為多行 TextBox 控件。
Name 擷取或設定控件的名稱。<br><br>(繼承自 Control)
Padding 此屬性與此類無關。<br><br>(繼承自 TextBoxBase)
PasswordChar 擷取或設定字元,該字元用于屏蔽單行 TextBox 控件中的密碼字元。
PlaceholderText 擷取或設定當控件沒有文本且不具有焦點時要顯示的文本。
ReadOnly 擷取或設定一個值,該值訓示文本框中的文本是否為隻讀。<br><br>(繼承自 TextBoxBase)
RecreatingHandle 擷取一個值,該值訓示控件目前是否在重新建立其句柄。<br><br>(繼承自 Control)
ScrollBars 擷取或設定哪些滾動條應出現在多行 TextBox 控件中。
SelectedText 擷取或設定一個值,該值訓示控件中目前標明的文本。<br><br>(繼承自 TextBoxBase)
SelectionLength 擷取或設定文本框中標明的字元數。<br><br>(繼承自 TextBoxBase)
SelectionStart 擷取或設定文本框中標明的文本起始點。<br><br>(繼承自 TextBoxBase)
ShortcutsEnabled 擷取或設定一個值,該值訓示是否啟用已定義的快捷方式。<br><br>(繼承自 TextBoxBase)
Tag 擷取或設定包含有關控件的資料的對象。<br><br>(繼承自 Control)
Text 擷取或設定與此控件關聯的文本。
TextAlign 擷取或設定 TextBox 控件中文本的對齊方式。
TextLength 擷取控件中文本的長度。<br><br>(繼承自 TextBoxBase)
Top 擷取或設定控件上邊緣與其容器的工作區上邊緣之間的距離(以像素為機關)。<br><br>(繼承自 Control)
UseSystemPasswordChar 擷取或設定一個值,該值訓示 TextBox 控件中的文本是否作為預設密碼字元顯示。
Visible 擷取或設定一個值,該值訓示是否顯示該控件及其所有子控件。<br><br>(繼承自 Control)
Width 擷取或設定控件的寬度。<br><br>(繼承自 Control)
WordWrap 訓示多行文本框控件在必要時是否自動換行到下一行的開始。<br><br>(繼承自 TextBoxBase)

事件

Click 在單擊文本框時發生。<br><br>(繼承自 TextBoxBase)
DoubleClick 在輕按兩下控件時發生。<br><br>(繼承自 Control)
DragDrop 拖放操作完成時發生。<br><br>(繼承自 Control)
DragEnter 在将對象拖入控件的邊界時發生。<br><br>(繼承自 Control)
DragLeave 将對象拖出控件的邊界時發生。<br><br>(繼承自 Control)
DragOver 在将對象拖到控件的邊界上發生。<br><br>(繼承自 Control)
Enter 進入控件時發生。<br><br>(繼承自 Control)
GotFocus 在控件接收焦點時發生。<br><br>(繼承自 Control)
Invalidated 控件的顯示要求重新繪制時發生。<br><br>(繼承自 Control)
KeyDown 在控件有焦點的情況下按下鍵時發生。<br><br>(繼承自 Control)
KeyPress 在控件有焦點的情況下 字元、空格或倒退鍵時發生。<br><br>(繼承自 Control)
KeyUp 在控件有焦點的情況下釋放鍵時發生。<br><br>(繼承自 Control)
Layout 在控件應重新定位其子控件時發生。<br><br>(繼承自 Control)
Leave 在輸入焦點離開控件時發生。<br><br>(繼承自 Control)
LostFocus 在控件失去焦點時發生。<br><br>(繼承自 Control)
MouseClick 用滑鼠單擊控件時發生。<br><br>(繼承自 TextBoxBase)
MouseDoubleClick 用滑鼠輕按兩下控件時發生。<br><br>(繼承自 Control)
MouseDown 當滑鼠指針位于控件上并按下滑鼠鍵時發生。<br><br>(繼承自 Control)
MouseEnter 在滑鼠指針進入控件時發生。<br><br>(繼承自 Control)
MouseHover 在滑鼠指針停放在控件上時發生。<br><br>(繼承自 Control)
MouseLeave 在滑鼠指針離開控件時發生。<br><br>(繼承自 Control)
MouseMove 在滑鼠指針移到控件上時發生。<br><br>(繼承自 Control)
MouseUp 在滑鼠指針在控件上并釋放滑鼠鍵時發生。<br><br>(繼承自 Control)
MouseWheel 在控件有焦點且滑鼠輪移動時發生。<br><br>(繼承自 Control)
Move 在移動控件時發生。<br><br>(繼承自 Control)
PreviewKeyDown 在焦點位于此控件上的情況下,當有按鍵動作時發生(在 KeyDown 事件之前發生)。<br><br>(繼承自 Control)
Resize 在調整控件大小時發生。<br><br>(繼承自 Control)
TextChanged 在 Text 屬性值更改時發生。<br><br>(繼承自 Control)
52.C# Textbox控件

通過Label與TextBox控件布局登入界面

其中密碼需要設定PasswordChar 屬性,這裡我輸入的是字元“*”

52.C# Textbox控件
private void btnClose_Click(object sender, EventArgs e)
{
    MessageBox.Show("退出");
}

private void btnConfirm_Click(object sender, EventArgs e)
{
    string name = txtName.Text;
    string password = txtPassword.Text;
    MessageBox.Show(#34;姓名:{name},密碼:{password}");
}           

文本框多行設定

Multiline設定為true,ScrollBars,設定衆向滾動條Vertical

52.C# Textbox控件

我們可以用TextBox模拟Label,這個有個好處,就是換行問題可以簡單解決

52.C# Textbox控件

修改TextBox 的BackColor為Control,BorderStyle為none,再将ReadOnly改為True

這個我們修改為多行TextBox,看上去是不是與Label一樣。

52.C# Textbox控件

試一下TextChanged事件

52.C# Textbox控件

代碼

private void txtMsg_TextChanged(object sender, EventArgs e)
{
    label1.Text = txtMsg.Text;
}