公司网站制作流程2016互联网营销师国家职业技能标准
1、命名空间与继承
命名空间:System.Windows.Forms
继承:Object→MarshalByRefObject→Component→Control→TextBoxBase→TextBox[RichTextBox]
TextBox常用于从用户处获取简短的文本字符串,而RichTextBox用于显
示和输入格式化的文本(例如, 黑体、 下划线和斜体),它使用标准的格式化文本,称为Rich Text
Format(富文本格式)或RTF。
2、常用属性
方法 | 作用 |
---|---|
Clear() | 从文本框控件中清除所有文本 |
CausesValidation | 设置为true,且该控件获得焦点,引发Validating和Validated两个事件 |
CharacterCasing | 这个值表示TextBox是否会改变输入的文本的大小写 |
MaxLength | TextBox输入最大长度 |
Multiine | TextBox是否可以多行 |
PasswordChar | 是否为加密字符[UseSystemPasswordChar也可以] |
ReadOnly | TextBox是否只读 |
ScrollBars | 是否显示滚动条 |
SelectedText | 在文本框种选择的文本 |
SelectionLength | 在文本框种选择的字符数 |
SelectionStart | 被选中文本的开头 |
WordWrap | 是否自动换行 |
注意RichTextBox中LoadFile()和SaveFile()保存富文本框中的文本格式。
3、常用事件
Event | 作用 |
---|---|
Clear() | 从文本框控件中清除所有文本 |
OnTextChanged(EventArgs) | 从文本框控件中清除所有文本 |
Enter | 从文本框控件中清除所有文本 |
Leave | 从文本框控件中清除所有文本 |
Validating | 从文本框控件中清除所有文本 |
Validated | 从文本框控件中清除所有文本 |
键事件 | – |
KeyDown | 按下对应键 |
KeyUp | 抬起对应键 |
KeyPress | 接受按下键对应建码 |
C#中Validating和Validated事件
如果 CausesValidation 属性设置为 false,则将取消 Validating 和 Validated 事件
焦点事件按下列顺序发生:
Enter //进入控件时发生
GotFocus //在控件接收焦点时发生
Leave //输入焦点离开控件时发生
Validating //控件数据效验时发生
Validated //数据效验完成后发生
LostFocus //失去焦点时发生
Validating 发生的时候,值还没有真正存入。如果验证失败,设置参数e.cancel = true。
Validated 发生的时候,值已经存入。
不管是Validating还是Validated事件发生的时候控件都没有失去焦点。
所以如果Validating验证错误,e.cancel = true会导致陷入死循环,焦点始终在上面,无法关闭软件。可以在Validating验证满足某条件,令e.cancel = false,强制退出。
4、示例
注意:
Validating事件中e.Cancel = true; 可以取消操作。如不符合要求的输入取消。
//Validating事件textBox中无法输入大于10的数private void textBox2_Validating(object sender, CancelEventArgs e){Console.WriteLine("textBox2_Validating");if (Convert.ToInt32(this.textBox2.Text) > 10){e.Cancel = true; }}
KeyPress事件
设置为Handled为true取消KeyPress事件。 这样,控件就不处理键按下。
//KeyPress事件 只允许输入0-9的键盘数字,或者BackSpace退格键private void textBox2_KeyPress(object sender, KeyPressEventArgs e){if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8){e.Handled = true; // Remove the characterConsole.WriteLine("删除");}else{Console.WriteLine("保留");}}
RichTextBox富文本控件中设置粗体,斜体,下划线
//设置粗体private void button5_Click(object sender, EventArgs e){Font oldfont = this.richTextBox1.SelectionFont;Font newfont;if(oldfont.Bold){newfont = new Font(oldfont,oldfont.Style & ~FontStyle.Bold);}else{newfont = new Font(oldfont, oldfont.Style | FontStyle.Bold);}this.richTextBox1.SelectionFont = newfont;this.richTextBox1.Focus();}//设置斜体private void button7_Click(object sender, EventArgs e){Font oldfont;Font newfont;oldfont = this.richTextBox1.SelectionFont;if (oldfont.Italic){newfont = new Font(oldfont, oldfont.Style & ~FontStyle.Italic);}else{newfont = new Font(oldfont, oldfont.Style | FontStyle.Italic);}this.richTextBox1.SelectionFont = newfont;this.richTextBox1.Focus();}//设置下划线private void button6_Click(object sender, EventArgs e){Font oldfont;Font newfont;oldfont = this.richTextBox1.SelectionFont;if (oldfont.Underline){newfont = new Font(oldfont, oldfont.Style & ~FontStyle.Underline);}else{newfont = new Font(oldfont,oldfont.Style | FontStyle.Underline);}this.richTextBox1.SelectionFont = newfont;this.richTextBox1.Focus();//设置RichTextBook中间对齐private void button8_Click(object sender, EventArgs e){//剧中if(this.richTextBox1.SelectionAlignment == HorizontalAlignment.Center){this.richTextBox1.SelectionAlignment = HorizontalAlignment.Left;}else{this.richTextBox1.SelectionAlignment= HorizontalAlignment.Center;}this.richTextBox1.Focus();}}
RichTextBox保存文本格式
private void button9_Click(object sender, EventArgs e){// Load the file into the RichTextBox.try{this.richTextBox1.LoadFile("Test.rtf");}catch (System.IO.FileNotFoundException){MessageBox.Show("No file to load yet");}}private void button10_Click(object sender, EventArgs e){// Save the text.try{this.richTextBox1.SaveFile("Test.rtf");}catch (System.Exception err){MessageBox.Show(err.Message);}}