一、属性
1、Dock
这里要注意的是当Textbox的multiline属性为false时,dock的属性为fill时,textbox并不会填满容器,而是和dock的属性为top时效果一样;
2、AcceptsReturn
如果没有为textbox所在的form设置默认按钮,也就是form的acceptbutton没有设置的话,则即使textbox的AcceptsReturn属性为false时,如果在textbox为多行编辑模式时,输入enter,也能实现自动换行;但是如果为textbox所在的form设置了默认按钮,也就是form的acceptbutton有值的话,那么如果textbox的AcceptsReturn属性为false的话,那么textbox为多行编辑模式时,输入enter不能实现换行,而是去响应form的acceptbutton的click事件了。
3、AcceptsTab
该属性为true时,则在textbox中键入一个tab字符,如果为false时,则按tab顺序将焦点移动到下一个控件
4、CharacterCasing
是否改变输入的文本的大小写,一共有三种情况,如下:
5、HideSelection
当控件失去焦点时,隐藏选定内容
1)HideSelection 为true时
当选定textbox内容时如下:
当把焦点移动到别的控件时,如下:此时选定的那些文本的蓝色背景消失了
1)HideSelection 为false时
当选定textbox内容时如下:
当把焦点移动到别的控件时,如下:此时选定的那些文本的蓝色背景还在
6、MaxLength
获取或设置用户在文本框中键入或者粘贴的最大字符数(该数量对于英文、数字、字母的个数的限制是一样的),如果将 MaxLength 属性设置为 0,则用户能输入的最大字符数为 2147483646 或一个基于可用内存的数目,两数之间选取较小者。
7、Multiline
指示控件是否是多行模式,不是多行模式时,文本超出textbox大小时无法换行。
8、SelectedText
获取选定的文本或者是设置选定的文本,如果是设置该值时,则会将设置的字符串添加到旧的textbox文本的前面,这样做会增长了旧的textbox文本长度。
9、SelectionLength
获取选定的字符的个数;如果是设置该值时,则会从textbox的文本的最开始字符算起,比如设置该值为2,则选定的文本如下:
10、SelectionStart
获取选定的文本的起始索引,第一个字符的索引为0,如下:
1)选定文本后,获取值,值为1
2)选定文本后,指定选取的长度,指定选取的字符索引如下:
textBox2.SelectionLength = 2; ;
textBox2.SelectionStart = 2;
指定选取两个字符,起始索引为2,然后结果如下图:
11、PasswordChar
该字符用于屏蔽单行Textbox控件中的密码字符,常用于密码输入时使用
该属性可读可写,当设置为时,如下:
但是实际上文本是DDD,但是看起来就是代替了
12、ReadOnly
指示是否可编辑文本,为true时,程序运行起来以后,不可编辑文本框内文本
13、ShortcutsEnabled
指示是否启用已经定义的快键键,快捷键如下:
当为true时,可以在textbox内使用这些快捷键进行操作
14、UseSystemPasswordChar
设置了该属性后,发现没有啥效果
15、WordWrap
当textbox为多行模式时,当文本超出一行时,该属性决定了文本是否自动换行
16、Lines
该属性就是当textbox的字符串中出现\r、\n、\r\n这三种字符时,就开始将字符串分割成多个字符串,比如:
textBox2.Text = "1\r2\r3";string[] stringArray = textBox2.Lines;
stringArray里面就会有三个字符串,分别为1、2、3。
这里要注意两个情况
1)直接在编辑textbox的text属性时,加入了\r\n,这样并不会实现换行效果,而是系统会将\r\n翻译成了\r,\n,
如下:
2)当textbox的wordrap为true时,当文本超出一行时,textbox自动换行了,但是当获取textbox的text属性时,就会发现实际上textbox的文本中并没与\r\n之类的回车换行符,所以当使用textbox的Lines属性时,就会发现并没有返回多个字符串串成员的数组,而是该字符串数组只有一个成员。
17、textalign
文本靠左,居中,靠右对齐
18、AutoCompleteCustomSource 、AutoCompleteMode 、AutoCompleteSource
private void Form1_Load(object sender, EventArgs e){// Create the list to use as the custom source. var source = new AutoCompleteStringCollection();source.AddRange(new string[]{"January","February","March","April","May","June","July","August","September","October","November","December"});// Create and initialize the text box.var textBox = new TextBox{AutoCompleteCustomSource = source,AutoCompleteMode =AutoCompleteMode.Suggest,AutoCompleteSource =AutoCompleteSource.CustomSource,Location = new Point(20, 20),Width = ClientRectangle.Width - 40,Visible = true};// Add the text box to the form.Controls.Add(textBox);}
这几个属性是用于通过将所输入的前缀与所维护的源中的所有字符串的前缀进行比较来自动完成输入字符串,如下:
AutoCompleteMode有三种情况,分别如下:
1)AutoCompleteMode.Suggest
2)AutoCompleteMode.Append
3)AutoCompleteMode.SuggestAppend
二、事件
总结:其余的属性和事件没有列出来,是因为该属性和事件与之前说的label的用法相同,所以省略,label的用法请移步:label的详细用法