C#控件编程之文本框(TextBox)的使用

寻技术 C#编程 2023年12月13日 99

以自身开发经验,从属性与事件详解文本框(TextBox)的用法。

编程语言:C#

编程环境:Visual Studio 2019

TextBox提供文字输入和显示功能,应用广泛,随处可见,作为一个Winform开发者,掌握它是必要的。

TextBox控件属性 

布局

  • Location:Point型,定义控件左上角相对于其容器左上角的坐标,初始为(0,0)。(若是工具箱拖动创建,初始为放置控件的左上角坐标)
  • MaximumSize:Size型,定义控件可以调整到的最大尺寸,初始为(0,0)。(注:初始时,相当于不起作用,可以随意拉大)
  • MinimumSize:Size型,定义控件可以调整到的最小尺寸,初始为(0,0)。
  • Size:Size型,定义控件的尺寸(宽,高)。

设计

  • Name:string型,定义控件的成员变量名,初始为“button1”。
  • GenerateMember:bool型,指示是否生成该控件的成员变量,初始为ture。
  • Locked:bool型,指示在设计时是否锁定控件的坐标和尺寸,初始为false。(注:将此项设置为true将导致无法拖动控件,但仍可以通过写代码修改控件的坐标和尺寸)
  • Modifiers:枚举型,定义控件的可访问性级别,枚举值有Private(同类可访问)、Public(公开访问)、Protected(同类及派生类可访问)、Internal(同程序集可访问)、Protected Internal(同程序集及派生程序集可访问),初始为Private。(注:要想在其他类里访问该控件,需要修改这个属性,这个属性无法写代码修改)

外观

  • BackColor:Color型,定义控件的背景色,初始为系统颜色Control。
  • BorderStyle:BorderStyle枚举型,定义控件边框类型,枚举值有None(无边框)、FixedSingle(单边框)、Fixed3D(3D边框),初始为Fixed3D。
  • Cursor:Cursor型,定义鼠标移动到控件时显示的光标,初始为Default。
  • Font:Font型,定义控件显示文本的字体和字号,初始为宋体,9pt。
  • ForeColor:Color型,定义控件显示文本的颜色,初始为系统颜色ControlText。
  • Lines:string[]型,定义多行编辑显示的文本项,初始为空。(注:设置允许多行编辑该属性才有效,即Multiline=true,在属性框里直接编辑该属性时,用回车符表示换行,写代码添加项时,string[]数组的每一项就是一行)
  • RightToLeft:RightToLeft枚举型,定义控件是否从右往左绘制,枚举值有Yes(从右往左绘制)、No(从左往右绘制)、Inherit(继承当前,通常是从左往右绘制),初始为No。
  • ScrollBars:ScrollBars枚举型,定义多行编辑的文本框所显示的滚动条,枚举值有None(不显示)、Horizontal(显示水平滚动条)、Vertical(显示竖直滚动条)、Both(显示水平和竖直滚动条),初始为None。(注:设置允许多行编辑该属性才有效,即Multiline=true)
  • Text:string型,定义控件显示的文本,初始为空。
  • TextAlign:ContentAlignment枚举型,定义控件显示文本的对齐方式,枚举值包括Left(左对齐)、Right(右对齐)、Center(居中),初始为Left。

行为 

  • AcceptsTab:bool型,指示在多行编辑时是否能用Tab键,初始为false。(注:设置允许多行编辑该属性才有效,即Multiline=true)

  • CharacterCasing: CharacterCasing枚举型,定义输入字符是否保持大写或小写,枚举值有Normal(保持不变)、Upper(转换为大写)、Lower(转换为小写),初始为Normal。
  • ContextMenuStrip:定义用户右击控件时显示的快捷菜单,初始为空。(注:若要创建此菜单,需要写代码创建或者拖动创建ContextMenuStrip后再选择这里,无法在属性框直接创建,详见我的另一篇
  • Enabled:bool型,指示是否启用该控件,初始为true。(注:将该属性设置为false,控件变灰,为不可用状态)
  • HideSelection:bool型,指示当编辑控件失去焦点时,选定内容是否取消选定显示,初始为true。

  • MaxLength:int型,定义允许输入的最大字符数,初始为32767。
  • Multiline:bool型,指示是否允许多行编辑,初始为false。

  • PasswordChar:char型,定义编辑控件的掩码,初始为空。(注:若设置此属性,则输入的所有字符都会被显示为所设置的字符,常设置*(星号)来表示对输入密码的隐藏)

  • ReadOnly:bool型,指示是否可以编辑文本,初始为false。
  • UseSystemPasswordChar:bool型,指示单行编辑文本是否以默认的密码字符显示,初始为false。(注:设置允许多行编辑该属性无效,即Multiline=false该属性才有效)

  • Visible:bool型,指示是否显示该控件,初始为true,为false则隐藏控件。

TextBox控件事件 

除一些公共事件外,常用的特有的事件是TextChanged事件。

  • TextChanged:编辑文本事件,是TextBox最常用的事件,TextBox里的文本发生变化时触发。(双击设计窗体中的按钮可直接注册该事件,并自动转到该事件的方法体)

总结

TextBox控件是使用最广泛的文本编辑控件,有很多用于实现不同功能的属性,支持单行编辑和多行编辑,普通输入和密码输入,自动转换大小写等,使用简单且功能强大。

善用TextChange事件,可以实现输入检查,动态存取输入数据等功能。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持寻技术。 

关闭

用微信“扫一扫”