【愚公系列】2023年10月 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控件的两个属性。
- AcceptsReturn属性
AcceptsReturn属性用于指定是否允许在文本框中输入回车符(Enter键)。默认情况下,当用户按下回车键时,文本框会将焦点移动到下一个控件,而不是在文本框中插入回车符。如果要允许在文本框中输入回车符,则将AcceptsReturn属性设置为true。
示例代码:
textBox1.AcceptsReturn = true;
- AcceptsTab属性
AcceptsTab属性用于指定是否允许在文本框中输入制表符(Tab键)。默认情况下,当用户按下Tab键时,文本框会将焦点移动到下一个控件,而不是在文本框中插入制表符。如果要允许在文本框中输入制表符,则将AcceptsTab属性设置为true。
示例代码:
textBox1.AcceptsTab = true;
🦋1.2 CharacterCasing
CharacterCasing属性用于设置Winform中TextBox控件中输入的字符大小写形式。它可以设置为以下三种值之一:
- Upper:强制将所有输入转换为大写形式。
- Lower:强制将所有输入转换为小写形式。
- Normal(默认值):不更改文本的大小写形式。
使用代码设置CharacterCasing属性:
在设计时,您可以通过以下步骤设置CharacterCasing属性:
- 在Visual Studio中打开你的Form。
- 将一个TextBox控件拖放到你的Form中。
- 在属性面板中,找到CharacterCasing属性,从下拉列表中选择你需要的选项。
在运行时,您可以通过以下代码设置CharacterCasing属性:
textBox1.CharacterCasing = CharacterCasing.Upper; //将输入转换为大写形式
textBox1.CharacterCasing = CharacterCasing.Lower; //将输入转换为小写形式
textBox1.CharacterCasing = CharacterCasing.Normal; //不更改文本大小写形式
在用户输入数据时,TextBox控件将自动将输入文本转换为所选大小写形式。
🦋1.3 HideSelection
HideSelection属性是WinForms中的一个控件属性,它指定当控件失去焦点时是否隐藏所选文本。HideSelection属性只对可编辑的控件(如文本框、组合框等)有效,对于只读控件(如标签、按钮等)无效。
当HideSelection属性设置为true时,当控件失去焦点时,文本框中的所选文本将不再被高亮显示,而是和其他文本一样显示。这种情况下,虽然看起来还是选中状态,但是如果尝试复制文本,只会复制整个文本而不是选中的文本。
当HideSelection属性设置为false时,无论控件是否获得焦点,所选文本都将以高亮显示的形式呈现。在这种情况下,即使失去焦点,选中文本仍然可见和可复制。
要在代码中设置HideSelection属性,可以使用以下语句:
textBox1.HideSelection = true; // 隐藏选中文本
textBox1.HideSelection = false; // 显示选中文本
当然,还可以在属性面板中通过属性窗格来设置HideSelection属性。
🦋1.4 MaxLength和Multiline
MaxLength属性:
MaxLength属性用于限制文本框可输入的最大字符数。在Winform中,MaxLength属性可以设置为正整数或无限制(-1)。以下是使用MaxLength属性的示例代码:
// 设置最大字符数为10
textBox1.MaxLength = 10;
Multiline属性:
Multiline属性用于将文本框设置为多行文本框。当Multiline属性设置为true时,文本框可以输入多行文本。以下是使用Multiline属性的示例代码:
// 将文本框设置为多行文本框
textBox1.Multiline = true;
需要注意的是,当设置Multiline属性为true时,文本框的Height属性需要手动调整以适应多行文本。
🦋1.5 SelectedText和SelectionLength和SelectionStart
在Winform中,TextBox、RichTextBox、ComboBox等控件都存在SelectedText、SelectionLength和SelectionStart属性。
- SelectedText属性
SelectedText属性可以用于获取或设置控件中选定的文本。例如:
textBox1.SelectedText = "Hello World";
string selectedText = textBox1.SelectedText;
这里将在textBox1控件中选定文本并将其设置为"Hello World",然后将选定的文本赋值给selectedText变量。
- SelectionLength属性
SelectionLength属性表示在控件中选定的文本的长度。例如:
int length = textBox1.SelectionLength;
这里将获取textBox1控件中选定文本的长度,将其赋值给length变量。
- SelectionStart属性
SelectionStart属性表示在控件中选定文本的起始位置。例如:
int start = textBox1.SelectionStart;
这里将获取textBox1控件中选定文本的起始位置,将其赋值给start变量。
注意:SelectedText、SelectionLength和SelectionStart属性都只适用于那些允许用户编辑并选定文本的控件。如果控件不允许用户选定和编辑文本,那么这些属性都将无效。
🦋1.6 PasswordChar和ReadOnly
在Winform中,PasswordChar和ReadOnly是两个常用属性。
PasswordChar属性用于设置文本框控件中输入字符的显示方式。它接受一个字符类型的值,通常是*或·之类的字符。当用户在文本框中输入字符时,实际上输入的是文本框内部的字符,但是显示的字符会被替换成PasswordChar属性指定的字符。这个属性通常用于密码输入框等场合。
下面是一个使用PasswordChar属性的示例:
textBox1.PasswordChar = '*';
textBox1.UseSystemPasswordChar = true;
在上面的示例中,将文本框textBox1的PasswordChar属性设置为*,并将UseSystemPasswordChar属性设置为true,这将使文本框显示系统默认的密码字符。当用户在文本框中输入字符时,系统会自动将它们替换为*。
ReadOnly属性用于设置文本框控件是否为只读状态。如果将ReadOnly属性设置为true,则用户不能在文本框中输入任何字符,但是可以复制和粘贴文本框中的内容。如果将ReadOnly属性设置为false,则用户可以在文本框中输入和编辑内容。
下面是一个使用ReadOnly属性的示例:
textBox1.ReadOnly = true;
在上面的示例中,将文本框textBox1的ReadOnly属性设置为true,这将使文本框变为只读状态。用户无法在文本框中输入或编辑任何内容。
🦋1.7 ShortcutsEnabled
ShortcutsEnabled属性是Winform中设置快捷键是否开启的属性,其类型为bool。
如果将该属性设置为true,则用户可以使用快捷键来执行特定的操作,如Ctrl+C用于复制、Ctrl+V用于粘贴等。
如果将该属性设置为false,则所有的快捷键都将被禁用。
示例代码:
this.ShortcutsEnabled = true; // 开启快捷键功能
this.ShortcutsEnabled = false; // 禁用快捷键功能
🦋1.8 UseSystemPasswordChar
UseSystemPasswordChar属性是窗体控件TextBox的一个属性,用于指示是否使用操作系统默认的密码字符掩盖输入内容。
当UseSystemPasswordChar设置为true时,输入框中的字符将被替换为系统默认的密码字符,通常是“*”或“•”。当设置为false时,输入框中的字符将以普通字符的形式显示。
以下是使用UseSystemPasswordChar属性的示例:
// 创建一个密码输入框
TextBox passwordBox = new TextBox();
passwordBox.UseSystemPasswordChar = true;
在上面的示例中,创建了一个TextBox控件并将UseSystemPasswordChar设置为true,这将导致用户输入的密码字符被替换为系统默认的密码字符。
🦋1.9 WordWrap
WordWrap属性是在Winform的TextBox控件中使用的。
该属性将文本框中的文本自动换行,以适应文本框的宽度。如果该属性设置为True,则当文本框中的文本超出文本框的宽度时,文本将自动换行。如果该属性设置为False,则文本将在单行上显示,并且任何超出文本框的部分将被隐藏。
在Design视图中,您可以在Properties窗口中找到WordWrap属性并将其设置为True或False。或者您可以在代码中使用以下代码设置它:
textBox1.WordWrap = true; // 自动换行
textBox1.WordWrap = false; // 单行显示
🦋1.10 Lines
WinForm中的Lines属性是TextBox控件中的一个属性,它用于设置文本框中的多行文本。
使用Lines属性非常简单,只需要将文本框的Multiline属性设置为true,然后在Lines属性中输入多行文本即可,如下所示:
textBox1.Multiline = true;
textBox1.Lines = new string[] { "第一行", "第二行", "第三行" };
这样就可以在文本框中显示多行文本了。需要注意的是,Lines属性中的每一行文本都应该是一个字符串数组的元素,每个元素代表一行文本。如果要设置某一行的文本,只需要修改对应的元素即可。
此外,也可以通过代码动态地添加或删除文本框中的行,如下所示:
// 添加一行文本
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属性,比如:
// 设置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: 包括所有系统提供的自动完成来源。
示例代码:
//设置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中常用的用户输入控件,常用场景包括:
用户输入:将TextBox控件放置在窗体上,用户可以在其中输入文字、数字或符号。
数据展示:将TextBox控件绑定到数据源,以显示数据。例如,将TextBox控件绑定到数据库中的某个字段,以显示该字段的值。
搜索:将TextBox控件作为搜索框,用户可以在其中输入关键字,搜索框下方显示搜索结果。
文本编辑:将TextBox控件作为文本编辑器,用户可以在其中编辑文本,包括格式、字体、大小等。
密码输入:将TextBox控件的PasswordChar属性设置为“*”,以实现密码输入功能。
只读显示:将TextBox控件的ReadOnly属性设置为“True”,以实现只读显示功能,用户不能编辑该文本框中的内容。
自动完成:将TextBox控件的AutoCompleteMode属性设置为“Suggest”或“Append”,以实现自动完成输入功能。
🔎3.具体案例
以下是一个简单的Winform项目,演示如何使用TextBox控件:
- 创建一个新的Winform项目。
- 在窗体上添加一个TextBox控件。
- 在窗体上添加一个Button控件。
- 双击Button控件,打开窗体的代码视图。
- 在Button的Click事件中,添加以下代码:
private void button1_Click(object sender, EventArgs e)
{
string text = textBox1.Text;
MessageBox.Show("您输入的文本是:" + text);
}
这段代码获取TextBox控件中的文本,然后将其显示在一个MessageBox中。
- 运行程序,并在TextBox中输入一些文本。
- 点击Button按钮,会弹出一个MessageBox,显示您输入的文本。
这只是一个简单的例子,您可以根据您的具体需求来使用TextBox控件。例如,您可以将其与其他控件一起使用,来创建更为复杂的用户界面。
🚀感谢:给读者的一封信
亲爱的读者,
我在这篇文章中投入了大量的心血和时间,希望为您提供有价值的内容。这篇文章包含了深入的研究和个人经验,我相信这些信息对您非常有帮助。
如果您觉得这篇文章对您有所帮助,我诚恳地请求您考虑赞赏1元钱的支持。这个金额不会对您的财务状况造成负担,但它会对我继续创作高质量的内容产生积极的影响。
我之所以写这篇文章,是因为我热爱分享有用的知识和见解。您的支持将帮助我继续这个使命,也鼓励我花更多的时间和精力创作更多有价值的内容。
如果您愿意支持我的创作,请扫描下面二维码,您的支持将不胜感激。同时,如果您有任何反馈或建议,也欢迎与我分享。
再次感谢您的阅读和支持!
最诚挚的问候, “愚公搬代码”
- 点赞
- 收藏
- 关注作者
评论(0)