文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>WinForm中TextBox事件的组合应用

WinForm中TextBox事件的组合应用

时间:2010-12-29  来源:hfliyi

功能需求:

用户名不能为空

用户的年龄必须是一个大于或等于0的数字;

用户的地址不能为空

用户的职务必须是“Software”或者为空

这个功能中我们用到了TextChanged,KeyPress,Validating事件;根据功能要求,可知用户名文本框和用户的地址的文本框用到同一个事件EmptyValidating来判断文本框是否为空;

在这个功能用用到空间的tag属性,用此来设置控件的有关数据,我们在构造函数中设置用户名文本框,用户地址文本框,用户年龄文本框,用户职务文本框的tag的值为false。

用到KeyPress事件--在不想要的字符在文本框中显示出来之前就删除它们。

代码
 1 public partial class Form1 : Form
2 {
3 public Form1()
4 {
5 InitializeComponent();
6 this.button1.Enabled = false;
7 }
8
9 private void EmptyValidating(object sender, CancelEventArgs e)
10 {
11 TextBox tb = (TextBox)sender;
12 if (tb.Text.Length == 0)
13 {
14 tb.BackColor = Color.Red;
15 tb.Tag = false;
16 }
17 else
18 {
19 tb.BackColor = SystemColors.Window;
20 tb.Tag = true;
21 }
22 ValidateOk();
23 }
24 public void ValidateOk()
25 {
26 this.button1.Enabled = (bool)this.txtName.Tag && (bool)this.txtAddress.Tag && (bool)this.txtAge.Tag && (bool)this.txtOccuption.Tag;
27 }
28
29 private void txtOccuption_Validating(object sender, CancelEventArgs e)
30 {
31 TextBox tb = (TextBox)sender;
32 if (tb.Text.Length == 0 || tb.Text.CompareTo("Software") == 0)
33 {
34 tb.Tag = true;
35 tb.BackColor = SystemColors.Window;
36
37 }
38 else
39 {
40 tb.Tag = Color.Red;
41 tb.BackColor = Color.Red;
42 }
43 ValidateOk();
44 }
45
46 private void txtAge_KeyPress(object sender, KeyPressEventArgs e)
47 {
48 if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
49 {
50 e.Handled = true;
51
52 }
53
54
55 }
56
57 private void txtAge_Validating(object sender, CancelEventArgs e)
58 {
59 TextBox tb = (TextBox)sender;
60 if (tb.Text.Length == 0)
61 {
62 tb.Tag = false;
63 tb.BackColor = Color.Red;
64 }
65 else
66 {
67 tb.Tag = true;
68 tb.BackColor = SystemColors.Window;
69 }
70 ValidateOk();
71 }
72
73 private void MessageChanged(object sender, EventArgs e)
74 {
75 TextBox tb = (TextBox)sender;
76 if (tb.Text.Length == 0 && tb.Name != "txtOccuption")
77 {
78 tb.Tag = false;
79 tb.BackColor = Color.Red;
80 }
81 else if (tb.Name == "txtOccuption" && (tb.Text.Length != 0 && tb.Text.CompareTo("Software") != 0))
82 {
83 tb.Tag = false;
84 //tb.BackColor = Color.Red;
85 }
86 else
87 {
88 tb.Tag = true;
89 tb.BackColor = SystemColors.Window;
90 }
91 ValidateOk();
92 }
93
94 private void button1_Click(object sender, EventArgs e)
95 {
96 this.txtOutput.Text = "";
97 this.txtOutput.Text +="姓名:"+ this.txtName.Text + "\r\n" +"地址:"+ this.txtAddress.Text + "\r\n" +"职务:"+ this.txtOccuption.Text + "\r\n" +"年龄:"+ this.txtAge.Text;
98 }
99 }

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载