TextBox 类
https://docs.microsoft.com/zh-cn/dotnet/api/system.windows.forms.textbox?view=netframework-4.8
使用 TextBox 控件时,用户可以在应用程序中输入文本。 此控件具有在标准 Windows 文本框控件中找不到的其他功能,包括多行编辑和密码字符掩码。
通常,TextBox 控件用于显示或接受作为输入的一行文本。 您可以使用 "Multiline" 和 "ScrollBars" 属性来启用显示或输入多行文本。 将 AcceptsTab 和 AcceptsReturn 属性设置为 true
,以便在多行 TextBox控件中启用更大的文本操作。
可以通过将 MaxLength 属性设置为特定数量的字符来限制输入 TextBox 控件中的文本量。 TextBox 控件还可用于接受密码和其他敏感信息。 您可以使用 PasswordChar 属性来屏蔽在单行版本的控件中输入的字符。 使用 "CharacterCasing" 属性可使用户只键入大写、小写或大写和小写字符与 TextBox 控件的组合。
若要滚动 TextBox 的内容,直到光标(插入符号)位于控件的可见区域内,可以使用 ScrollToCaret 方法。 若要选择文本框中的文本范围,可以使用 Select 方法。
若要限制在 TextBox 控件中输入文本,可以为 KeyDown 事件创建事件处理程序,以便验证在控件中输入的每个字符。 还可以通过将 ReadOnly 属性设置为 true
,来限制 TextBox 控件中的所有数据输入。
属性
AcceptsReturn | 获取或设置一个值,该值指示在多行 TextBox 控件中按 Enter 键时,是在控件中创建一行新文本还是激活窗体的默认按钮。 |
AcceptsTab | 获取或设置一个值,该值指示在多行文本框控件中按 Tab 键时,是否在控件中键入一个 Tab 字符,而不是按选项卡的顺序将焦点移动到下一个控件。 (继承自 TextBoxBase) |
AllowDrop | 获取或设置一个值,该值指示控件是否可以接受用户拖放到它上面的数据。 (继承自 Control) |
AutoSize | 获取或设置一个值,该值指示当更改分配给控件的字体时,是否自动调整控件的高度。 (继承自 TextBoxBase) |
BackColor | 获取或设置控件的背景色。 (继承自 TextBoxBase) |
CanUndo | 获取一个值,该值指示用户在文本框控件中能否撤消前一操作。 (继承自 TextBoxBase) |
ForeColor | 获取或设置控件的前景色。 (继承自 TextBoxBase) |
Lines | 获取或设置文本框控件中的文本行。 (继承自 TextBoxBase) |
Location | 获取或设置该控件的左上角相对于其容器的左上角的坐标。 (继承自 Control) |
MaxLength | 获取或设置用户可在文本框控件中键入或粘贴的最大字符数。 (继承自 TextBoxBase) |
Multiline | 获取或设置一个值,该值指示这是否为多行 TextBox 控件。 |
ReadOnly | 获取或设置一个值,该值指示文本框中的文本是否为只读。 (继承自 TextBoxBase) |
ScrollBars | 获取或设置哪些滚动条应出现在多行 TextBox 控件中。 |
SelectedText | 获取或设置一个值,该值指示控件中当前选定的文本。 (继承自 TextBoxBase) |
SelectionStart | 获取或设置文本框中选定的文本起始点。 (继承自 TextBoxBase) |
Text | 获取或设置与此控件关联的文本。 |
TextAlign | 获取或设置 TextBox 控件中文本的对齐方式。 |
TextLength | 获取控件中文本的长度。 (继承自 TextBoxBase) |
方法
AppendText(String) | 向文本框的当前文本追加文本。 (继承自 TextBoxBase) |
Clear() | 从文本框控件中清除所有文本。 (继承自 TextBoxBase) |
Copy() | 将文本框中的当前选定内容复制到“剪贴板”。 (继承自 TextBoxBase) |
CreateGraphics() | 为控件创建 Graphics。 (继承自 Control) |
Cut() | 将文本框中的当前选定内容移动到“剪贴板”中。 (继承自 TextBoxBase) |
DeselectAll() | 将 SelectionLength 属性的值指定为零,从而不会在控件中选择字符。 (继承自 TextBoxBase) |
DoDragDrop(Object, DragDropEffects) | 开始拖放操作。 (继承自 Control) |
Paste() | 用剪贴板的内容替换文本框中的当前选定内容。 (继承自 TextBoxBase) |
Paste(String) | 将选定文本设置为指定文本,但不清除撤消缓冲区。 |
Select() | 激活控件。 (继承自 Control) |
Undo() | 撤消文本框中的上一个编辑操作。 (继承自 TextBoxBase) |
Update() | 使控件重绘其工作区内的无效区域。 (继承自 Control) |
对话框类Form是定义在 Windows名称空间下的类,对话框类中定义了一个名为Controls的属性,用于表示对话框上的所有控件。 Controls为控件集合,可利用下标访问每个控件。集合变量的使用方法类似于数组,可通过下标指定访问的集合元素。
本例控件及其属性值
控件 | 属性 | 值 | 控件 | 属性 | 值 |
TextBox | Name | txtText | Button | Name | btnClear |
Multiline | true | text | 清除 | ||
text | Button | Name | btnReadOnly | ||
Button | Name | btnCopy | Text | 只读 | |
Text | 复制 | Button | Name | btnUndo | |
Button | Name | btnCut | Text | 撤消 | |
Text | 剪切 | Button | Name | btnPaste | |
Text | 粘贴 |
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtText.Width = Me.Width
txtText.Height = 220
txtText.Left = 0
txtText.Top = 0
txtText.WordWrap = True '是否自动换行
End Sub
Private Sub btnCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCopy.Click
Static tempStr As String
tempStr = txtText.SelectedText
If tempStr = "" Then
MsgBox("选择文本")
End If
String.Copy(tempStr)
End Sub
Private Sub btnPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPaste.Click
txtText.Paste()
End Sub
Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click
txtText.Clear()
End Sub
Private Sub btnUndo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUndo.Click
txtText.Undo()
End Sub
Private Sub btnReadOnly_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReadOnly.Click
Dim i As Integer
If txtText.ReadOnly Then
btnReadOnly.Text = "只读"
txtText.ReadOnly = False
For i = 0 To Me.Controls.Count - 1
Me.Controls(i).Enabled = True
Next
Else
btnReadOnly.Text = "可写"
txtText.ReadOnly = True
For i = 0 To Me.Controls.Count - 1
If Not (Me.Controls(i) Is btnReadOnly) Then
Me.Controls(i).Enabled = False
End If
Next
End If
End Sub
Private Sub btnCut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCut.Click
txtText.Cut()
End Sub
End Class