首页
学习
活动
专区
圈层
工具
发布
50 篇文章
1
【愚公系列】2023年11月 WPF控件专题 Line控件详解
2
【愚公系列】2023年11月 WPF控件专题 2023秋招WPF高频面试题
3
【愚公系列】2023年11月 Winform控件专题 Label控件详解
4
【愚公系列】2023年11月 Winform控件专题 Button控件详解
5
【愚公系列】2023年11月 Winform控件专题 Form控件详解
6
【愚公系列】2023年11月 Winform控件专题 TextBox控件详解
7
【愚公系列】2023年11月 Winform控件专题 CheckBox控件详解
8
【愚公系列】2023年11月 Winform控件专题 RadioButton控件详解
9
【愚公系列】2023年11月 Winform控件专题 ComboBox控件详解
10
【愚公系列】2023年11月 Winform控件专题 RichTextBox控件详解
11
【愚公系列】2023年11月 Winform控件专题 ListBox控件详解
12
【愚公系列】2023年11月 Winform控件专题 CheckedListBox控件详解
13
【愚公系列】2023年11月 Winform控件专题 numericUpDown控件详解
14
【愚公系列】2023年11月 Winform控件专题 LinkLabel控件详解
15
【愚公系列】2023年11月 Winform控件专题 DateTimePicker控件详解
16
【愚公系列】2023年11月 Winform控件专题 NotifyIcon控件详解
17
【愚公系列】2023年11月 Winform控件专题 ContextMenuStrip控件详解
18
【愚公系列】2023年11月 Winform控件专题 Timer控件详解
19
【愚公系列】2023年11月 Winform控件专题 PictureBox控件详解
20
【愚公系列】2023年11月 Winform控件专题 Chart控件详解
21
【愚公系列】2023年11月 Winform控件专题 DataGridView控件详解
22
【愚公系列】2023年11月 Winform控件专题 TableLayoutPanel控件详解
23
【愚公系列】2023年11月 Winform控件专题 ProgressBar控件详解
24
【愚公系列】2023年11月 Winform控件专题 Panel控件详解
25
【愚公系列】2023年11月 Winform控件专题 FlowLayoutPanel控件详解
26
【愚公系列】2023年11月 Winform控件专题 GroupBox控件详解
27
【愚公系列】2023年11月 Winform控件专题 SplitContainer控件详解
28
【愚公系列】2023年11月 Winform控件专题 TabControl控件详解
29
【愚公系列】2023年11月 Winform控件专题 ToolTip控件详解
30
【愚公系列】2023年11月 Winform控件专题 MaskedTextBox控件详解
31
【愚公系列】2023年11月 Winform控件专题 MonthCalendar控件详解
32
【愚公系列】2023年11月 Winform控件专题 TreeView控件详解
33
【愚公系列】2023年11月 Winform控件专题 MenuStrip控件详解
34
【愚公系列】2023年11月 Winform控件专题 OpenFileDialog控件详解
35
【愚公系列】2023年11月 Winform控件专题 SaveFileDialog控件详解
36
【愚公系列】2023年12月 Winform控件专题 FontDialog控件详解
37
【愚公系列】2023年12月 Winform控件专题 ColorDialog控件详解
38
【愚公系列】2023年12月 Winform控件专题 FolderBrowserDialog控件详解
39
【愚公系列】2023年12月 Winform控件专题 StatusStrip控件详解
40
【愚公系列】2023年12月 Winform控件专题 ToolStrip控件详解
41
【愚公系列】2023年12月 Winform控件专题 HelpProvider控件详解
42
【愚公系列】2023年12月 Winform控件专题 ToolStripContainer控件详解
43
【愚公系列】2023年12月 Winform控件专题 BackgroundWorker控件详解
44
【愚公系列】2023年12月 GDI+绘图专题 图形图像编程基础
45
【愚公系列】2023年12月 GDI+绘图专题 图形图像的重绘
46
【愚公系列】2023年12月 GDI+绘图专题 颜色获取和图形绘制
47
【愚公系列】2023年12月 GDI+绘图专题 Point
48
【愚公系列】2023年12月 GDI+绘图专题 Rectangle
49
【愚公系列】2023年12月 GDI+绘图专题 Matrix
50
【愚公系列】2023年12月 GDI+绘图专题 Pen

【愚公系列】2023年11月 Winform控件专题 TextBox控件详解

🏆 作者简介,愚公搬代码 🏆《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,阿里云专家博主,腾讯云优秀博主,掘金优秀博主,51CTO博客专家等。 🏆《近期荣誉》:2022年CSDN博客之星TOP2,2022年华为云十佳博主等。

🏆《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。

🏆🎉欢迎 👍点赞✍评论⭐收藏

🚀前言

Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、进度条等。开发人员可以使用Winform控件来构建用户界面并响应用户的操作行为,从而创建功能强大的桌面应用程序。

🚀一、TextBox控件详解

🔎1.属性介绍

🦋1.1 AcceptsReturn和AcceptsTab

AcceptsReturn和AcceptsTab是Winform中TextBox控件的两个属性。

  1. AcceptsReturn属性

AcceptsReturn属性用于指定是否允许在文本框中输入回车符(Enter键)。默认情况下,当用户按下回车键时,文本框会将焦点移动到下一个控件,而不是在文本框中插入回车符。如果要允许在文本框中输入回车符,则将AcceptsReturn属性设置为true。

示例代码:

代码语言:c#
复制
textBox1.AcceptsReturn = true;
  1. AcceptsTab属性

AcceptsTab属性用于指定是否允许在文本框中输入制表符(Tab键)。默认情况下,当用户按下Tab键时,文本框会将焦点移动到下一个控件,而不是在文本框中插入制表符。如果要允许在文本框中输入制表符,则将AcceptsTab属性设置为true。

示例代码:

代码语言:c#
复制
textBox1.AcceptsTab = true;

🦋1.2 CharacterCasing

CharacterCasing属性用于设置Winform中TextBox控件中输入的字符大小写形式。它可以设置为以下三种值之一:

  1. Upper:强制将所有输入转换为大写形式。
  2. Lower:强制将所有输入转换为小写形式。
  3. Normal(默认值):不更改文本的大小写形式。

使用代码设置CharacterCasing属性:

在设计时,您可以通过以下步骤设置CharacterCasing属性:

  1. 在Visual Studio中打开你的Form。
  2. 将一个TextBox控件拖放到你的Form中。
  3. 在属性面板中,找到CharacterCasing属性,从下拉列表中选择你需要的选项。

在运行时,您可以通过以下代码设置CharacterCasing属性:

代码语言:c#
复制
textBox1.CharacterCasing = CharacterCasing.Upper; //将输入转换为大写形式
textBox1.CharacterCasing = CharacterCasing.Lower; //将输入转换为小写形式
textBox1.CharacterCasing = CharacterCasing.Normal; //不更改文本大小写形式

在用户输入数据时,TextBox控件将自动将输入文本转换为所选大小写形式。

🦋1.3 HideSelection

HideSelection属性是WinForms中的一个控件属性,它指定当控件失去焦点时是否隐藏所选文本。HideSelection属性只对可编辑的控件(如文本框、组合框等)有效,对于只读控件(如标签、按钮等)无效。

当HideSelection属性设置为true时,当控件失去焦点时,文本框中的所选文本将不再被高亮显示,而是和其他文本一样显示。这种情况下,虽然看起来还是选中状态,但是如果尝试复制文本,只会复制整个文本而不是选中的文本。

当HideSelection属性设置为false时,无论控件是否获得焦点,所选文本都将以高亮显示的形式呈现。在这种情况下,即使失去焦点,选中文本仍然可见和可复制。

要在代码中设置HideSelection属性,可以使用以下语句:

代码语言:c#
复制
textBox1.HideSelection = true; // 隐藏选中文本

textBox1.HideSelection = false; // 显示选中文本

当然,还可以在属性面板中通过属性窗格来设置HideSelection属性。

在这里插入图片描述

🦋1.4 MaxLength和Multiline

MaxLength属性:

MaxLength属性用于限制文本框可输入的最大字符数。在Winform中,MaxLength属性可以设置为正整数或无限制(-1)。以下是使用MaxLength属性的示例代码:

代码语言:c#
复制
// 设置最大字符数为10
textBox1.MaxLength = 10;

Multiline属性:

Multiline属性用于将文本框设置为多行文本框。当Multiline属性设置为true时,文本框可以输入多行文本。以下是使用Multiline属性的示例代码:

代码语言:c#
复制
// 将文本框设置为多行文本框
textBox1.Multiline = true;

需要注意的是,当设置Multiline属性为true时,文本框的Height属性需要手动调整以适应多行文本。

🦋1.5 SelectedText和SelectionLength和SelectionStart

在Winform中,TextBox、RichTextBox、ComboBox等控件都存在SelectedText、SelectionLength和SelectionStart属性。

  1. SelectedText属性 SelectedText属性可以用于获取或设置控件中选定的文本。例如:
代码语言:c#
复制
textBox1.SelectedText = "Hello World";
string selectedText = textBox1.SelectedText;

这里将在textBox1控件中选定文本并将其设置为"Hello World",然后将选定的文本赋值给selectedText变量。

  1. SelectionLength属性 SelectionLength属性表示在控件中选定的文本的长度。例如:
代码语言:c#
复制
int length = textBox1.SelectionLength;

这里将获取textBox1控件中选定文本的长度,将其赋值给length变量。

  1. SelectionStart属性 SelectionStart属性表示在控件中选定文本的起始位置。例如:
代码语言:c#
复制
int start = textBox1.SelectionStart;

这里将获取textBox1控件中选定文本的起始位置,将其赋值给start变量。

注意:SelectedText、SelectionLength和SelectionStart属性都只适用于那些允许用户编辑并选定文本的控件。如果控件不允许用户选定和编辑文本,那么这些属性都将无效。

🦋1.6 PasswordChar和ReadOnly

在Winform中,PasswordChar和ReadOnly是两个常用属性。

PasswordChar属性用于设置文本框控件中输入字符的显示方式。它接受一个字符类型的值,通常是*或·之类的字符。当用户在文本框中输入字符时,实际上输入的是文本框内部的字符,但是显示的字符会被替换成PasswordChar属性指定的字符。这个属性通常用于密码输入框等场合。

下面是一个使用PasswordChar属性的示例:

代码语言:c#
复制
textBox1.PasswordChar = '*';
textBox1.UseSystemPasswordChar = true;

在上面的示例中,将文本框textBox1的PasswordChar属性设置为,并将UseSystemPasswordChar属性设置为true,这将使文本框显示系统默认的密码字符。当用户在文本框中输入字符时,系统会自动将它们替换为

ReadOnly属性用于设置文本框控件是否为只读状态。如果将ReadOnly属性设置为true,则用户不能在文本框中输入任何字符,但是可以复制和粘贴文本框中的内容。如果将ReadOnly属性设置为false,则用户可以在文本框中输入和编辑内容。

下面是一个使用ReadOnly属性的示例:

代码语言:c#
复制
textBox1.ReadOnly = true;

将文本框textBox1的ReadOnly属性设置为true,这将使文本框变为只读状态。用户无法在文本框中输入或编辑任何内容。

🦋1.7 ShortcutsEnabled

ShortcutsEnabled属性是Winform中设置快捷键是否开启的属性,其类型为bool。

如果将该属性设置为true,则用户可以使用快捷键来执行特定的操作,如Ctrl+C用于复制、Ctrl+V用于粘贴等。

如果将该属性设置为false,则所有的快捷键都将被禁用。

示例代码:

代码语言:c#
复制
this.ShortcutsEnabled = true; // 开启快捷键功能
this.ShortcutsEnabled = false; // 禁用快捷键功能

🦋1.8 UseSystemPasswordChar

UseSystemPasswordChar属性是窗体控件TextBox的一个属性,用于指示是否使用操作系统默认的密码字符掩盖输入内容。

当UseSystemPasswordChar设置为true时,输入框中的字符将被替换为系统默认的密码字符,通常是“*”或“•”。当设置为false时,输入框中的字符将以普通字符的形式显示。

以下是使用UseSystemPasswordChar属性的示例:

代码语言:c#
复制
// 创建一个密码输入框
TextBox passwordBox = new TextBox();
passwordBox.UseSystemPasswordChar = true;

在上面的示例中,创建了一个TextBox控件并将UseSystemPasswordChar设置为true,这将导致用户输入的密码字符被替换为系统默认的密码字符。

🦋1.9 WordWrap

WordWrap属性是在Winform的TextBox控件中使用的。

该属性将文本框中的文本自动换行,以适应文本框的宽度。如果该属性设置为True,则当文本框中的文本超出文本框的宽度时,文本将自动换行。如果该属性设置为False,则文本将在单行上显示,并且任何超出文本框的部分将被隐藏。

在Design视图中,您可以在Properties窗口中找到WordWrap属性并将其设置为True或False。或者您可以在代码中使用以下代码设置它:

代码语言:c#
复制
textBox1.WordWrap = true; // 自动换行
textBox1.WordWrap = false; // 单行显示

🦋1.10 Lines

WinForm中的Lines属性是TextBox控件中的一个属性,它用于设置文本框中的多行文本。

使用Lines属性非常简单,只需要将文本框的Multiline属性设置为true,然后在Lines属性中输入多行文本即可,如下所示:

代码语言:c#
复制
textBox1.Multiline = true;
textBox1.Lines = new string[] { "第一行", "第二行", "第三行" };

这样就可以在文本框中显示多行文本了。需要注意的是,Lines属性中的每一行文本都应该是一个字符串数组的元素,每个元素代表一行文本。如果要设置某一行的文本,只需要修改对应的元素即可。

此外,也可以通过代码动态地添加或删除文本框中的行,如下所示:

代码语言:c#
复制
// 添加一行文本
textBox1.AppendText("新的一行\n");

// 删除最后一行文本
string[] lines = textBox1.Lines;
Array.Resize(ref lines, lines.Length - 1);
textBox1.Lines = lines;

🦋1.11 textalign

Winform中的TextAlign属性是用来控制文本对齐方式的,可以设置为左对齐、右对齐、居中对齐等。

在Visual Studio的设计器中,选择控件后,在属性窗口中找到TextAlign属性,可以通过下拉列表选择对齐方式。

同时,也可以通过代码设置TextAlign属性,比如:

代码语言:c#
复制
// 设置label的文本为居中对齐
label1.TextAlign = ContentAlignment.MiddleCenter;

除了常见的左对齐、右对齐、居中对齐外,TextAlign属性还支持如下的对齐方式:

  • ContentAlignment.BottomCenter:底部居中对齐
  • ContentAlignment.BottomLeft:底部左对齐
  • ContentAlignment.BottomRight:底部右对齐
  • ContentAlignment.MiddleCenter:居中对齐
  • ContentAlignment.MiddleLeft:左对齐
  • ContentAlignment.MiddleRight:右对齐
  • ContentAlignment.TopCenter:顶部居中对齐
  • ContentAlignment.TopLeft:顶部左对齐
  • ContentAlignment.TopRight:顶部右对齐

在实际开发中,TextAlign属性通常被用于控制Label、TextBox等控件中文本的对齐方式。

🦋1.12 AutoCompleteCustomSource 、AutoCompleteMode 、AutoCompleteSource

AutoCompleteCustomSource: 这个属性允许我们为一个文本框定义一个自定义的自动完成列表,我们可以在这个列表中添加需要自动完成的内容。我们可以使用一个字符串数组或者是一个StringCollection对象来为这个属性设置值。

AutoCompleteMode: 这个属性用于指定自动完成模式,有两种值可以设置:

  • None: 表示不启用自动完成功能。
  • SuggestAppend: 表示启用自动完成功能并且在用户输入时弹出一个下拉框,显示与当前输入匹配的内容。当用户从下拉框中选择一个项时,这个项的内容自动添加到文本框中。

AutoCompleteSource: 这个属性指定了自动完成的来源。它可以设置为以下几个值:

  • FileSystem: 根据文件系统中的文件夹和文件来匹配。
  • HistoryList: 根据用户以前输入的历史记录来匹配。
  • RecentlyUsedList: 根据用户最近使用的文件来匹配。
  • CustomSource: 使用我们自己定义的自动完成列表来匹配。
  • AllSystemSources: 包括所有系统提供的自动完成来源。

示例代码:

代码语言:c#
复制
//设置AutoCompleteCustomSource
string[] autoSource = new string[] { "apple", "banana", "cherry", "orange", "peach" };
textBox1.AutoCompleteCustomSource.AddRange(autoSource);

//设置AutoCompleteMode
textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

//设置AutoCompleteSource
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
在这里插入图片描述

🔎2.常用场景

TextBox控件是Winform中常用的用户输入控件,常用场景包括:

  1. 用户输入:将TextBox控件放置在窗体上,用户可以在其中输入文字、数字或符号。
  2. 数据展示:将TextBox控件绑定到数据源,以显示数据。例如,将TextBox控件绑定到数据库中的某个字段,以显示该字段的值。
  3. 搜索:将TextBox控件作为搜索框,用户可以在其中输入关键字,搜索框下方显示搜索结果。
  4. 文本编辑:将TextBox控件作为文本编辑器,用户可以在其中编辑文本,包括格式、字体、大小等。
  5. 密码输入:将TextBox控件的PasswordChar属性设置为“*”,以实现密码输入功能。
  6. 只读显示:将TextBox控件的ReadOnly属性设置为“True”,以实现只读显示功能,用户不能编辑该文本框中的内容。
  7. 自动完成:将TextBox控件的AutoCompleteMode属性设置为“Suggest”或“Append”,以实现自动完成输入功能。

🔎3.具体案例

以下是一个简单的Winform项目,演示如何使用TextBox控件:

  1. 创建一个新的Winform项目。
  2. 在窗体上添加一个TextBox控件。
  3. 在窗体上添加一个Button控件。
  4. 双击Button控件,打开窗体的代码视图。
  5. 在Button的Click事件中,添加以下代码:
代码语言:c#
复制
private void button1_Click(object sender, EventArgs e)
{
    string text = textBox1.Text;
    MessageBox.Show("您输入的文本是:" + text);
}

这段代码获取TextBox控件中的文本,然后将其显示在一个MessageBox中。

  1. 运行程序,并在TextBox中输入一些文本。
  2. 点击Button按钮,会弹出一个MessageBox,显示您输入的文本。

这只是一个简单的例子,您可以根据您的具体需求来使用TextBox控件。例如,您可以将其与其他控件一起使用,来创建更为复杂的用户界面。

在这里插入图片描述

🚀感谢:给读者的一封信

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

下一篇
举报
领券