首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 软件教学-> 其他工具
radiobox、checkbox和validating事件的相关处理 _c#应用
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

[示例出处]:本示例来自《C#入门经典》第三版中文版,P349-P353
[示例涉及]:
1、RadioBox、CheckBox控件的基本使用
2、Validating事件的使用(同[C#][SAMPLE][CODE][Control]TextBox和Validating事件的相关处理 )
3、多委托处理同一事件方法(同[C#][SAMPLE][CODE][Control]TextBox和Validating事件的相关处理 )
[示例代码]:2文件(其余默认)

Form1.Designer.cs
  1namespace WA_TextBoxTest
  2{
  3    partial class Form1
  4    {
  5        /**//// <summary>
  6        /// 必需的设计器变量。
  7        /// </summary>
  8        private System.ComponentModel.IContainer components = null;
  9
 10        /**//// <summary>
 11        /// 清理所有正在使用的资源。
 12        /// </summary>
 13        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
 14        protected override void Dispose(bool disposing)
 15        {
 16            if (disposing && (components != null))
 17            {
 18                components.Dispose();
 19            }
 20            base.Dispose(disposing);
 21        }
 22
 23        Windows 窗体设计器生成的代码#region Windows 窗体设计器生成的代码
 24
 25        /**//// <summary>
 26        /// 设计器支持所需的方法 - 不要
 27        /// 使用代码编辑器修改此方法的内容。
 28        /// </summary>
 29        private void InitializeComponent()
 30        {
 31            this.label1 = new System.Windows.Forms.Label();
 32            this.label2 = new System.Windows.Forms.Label();
 33            this.textBoxName = new System.Windows.Forms.TextBox();
 34            this.textBoxAddress = new System.Windows.Forms.TextBox();
 35            this.textBoxAge = new System.Windows.Forms.TextBox();
 36            this.textBoxOutput = new System.Windows.Forms.TextBox();
 37            this.label4 = new System.Windows.Forms.Label();
 38            this.label5 = new System.Windows.Forms.Label();
 39            this.buttonOK = new System.Windows.Forms.Button();
 40            this.buttonHelp = new System.Windows.Forms.Button();
 41            this.checkBoxProgrammer = new System.Windows.Forms.CheckBox();
 42            this.groupBoxSex = new System.Windows.Forms.GroupBox();
 43            this.radioButtonMale = new System.Windows.Forms.RadioButton();
 44            this.radioButtonFemale = new System.Windows.Forms.RadioButton();
 45            this.groupBoxSex.SuspendLayout();
 46            this.SuspendLayout();
 47            //
 48            // label1
 49            //
 50            this.label1.AutoSize = true;
 51            this.label1.Location = new System.Drawing.Point(26, 27);
 52            this.label1.Name = "label1";
 53            this.label1.Size = new System.Drawing.Size(59, 12);
 54            this.label1.TabIndex = 0;
 55            this.label1.Text = "labelName";
 56            //
 57            // label2
 58            //
 59            this.label2.AutoSize = true;
 60            this.label2.Location = new System.Drawing.Point(26, 53);
 61            this.label2.Name = "label2";
 62            this.label2.Size = new System.Drawing.Size(77, 12);
 63            this.label2.TabIndex = 1;
 64            this.label2.Text = "labelAddress";
 65            //
 66            // textBoxName
 67            //
 68            this.textBoxName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
 69                        | System.Windows.Forms.AnchorStyles.Right)));
 70            this.textBoxName.Location = new System.Drawing.Point(127, 24);
 71            this.textBoxName.Name = "textBoxName";
 72            this.textBoxName.Size = new System.Drawing.Size(317, 21);
 73            this.textBoxName.TabIndex = 2;
 74            //
 75            // textBoxAddress
 76            //
 77            this.textBoxAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
 78                        | System.Windows.Forms.AnchorStyles.Right)));
 79            this.textBoxAddress.Location = new System.Drawing.Point(127, 50);
 80            this.textBoxAddress.Multiline = true;
 81            this.textBoxAddress.Name = "textBoxAddress";
 82            this.textBoxAddress.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
 83            this.textBoxAddress.Size = new System.Drawing.Size(317, 102);
 84            this.textBoxAddress.TabIndex = 2;
 85            //
 86            // textBoxAge
 87            //
 88            this.textBoxAge.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
 89                        | System.Windows.Forms.AnchorStyles.Right)));
 90            this.textBoxAge.Location = new System.Drawing.Point(127, 254);
 91            this.textBoxAge.Name = "textBoxAge";
 92            this.textBoxAge.Size = new System.Drawing.Size(99, 21);
 93            this.textBoxAge.TabIndex = 4;
 94            this.textBoxAge.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBoxAge_KeyPress);
 95            //
 96            // textBoxOutput
 97            //
 98            this.textBoxOutput.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
 99                        | System.Windows.Forms.AnchorStyles.Left)
100                        | System.Windows.Forms.AnchorStyles.Right)));
101            this.textBoxOutput.Location = new System.Drawing.Point(28, 307);
102            this.textBoxOutput.Multiline = true;
103            this.textBoxOutput.Name = "textBoxOutput";
104            this.textBoxOutput.ReadOnly = true;
105            this.textBoxOutput.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
106            this.textBoxOutput.Size = new System.Drawing.Size(416, 171);
107            this.textBoxOutput.TabIndex = 5;
108            //
109            // label4
110            //
111            this.label4.AutoSize = true;
112            this.label4.Location = new System.Drawing.Point(26, 257);
113            this.label4.Name = "label4";
114            this.label4.Size = new System.Drawing.Size(53, 12);
115            this.label4.TabIndex = 7;
116            this.label4.Text = "labelAge";
117            //
118            // label5
119            //
120            this.label5.AutoSize = true;
121            this.label5.Location = new System.Drawing.Point(26, 289);
122            this.label5.Name = "label5";
123            this.label5.Size = new System.Drawing.Size(71, 12);
124            this.label5.TabIndex = 8;
125            this.label5.Text = "labelOutput";
126            //
127            // buttonOK
128            //
129            this.buttonOK.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
130            this.buttonOK.Location = new System.Drawing.Point(458, 18);
131            this.buttonOK.Name = "buttonOK";
132            this.buttonOK.Size = new System.Drawing.Size(82, 21);
133            this.buttonOK.TabIndex = 9;
134            this.buttonOK.Text = "OK";
135            this.buttonOK.UseVisualStyleBackColor = true;
136            this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
137            //
138            // buttonHelp
139            //
140            this.buttonHelp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
141            this.buttonHelp.CausesValidation = false;
142            this.buttonHelp.Location = new System.Drawing.Point(458, 43);
143            this.buttonHelp.Name = "buttonHelp";
144            this.buttonHelp.Size = new System.Drawing.Size(82, 21);
145            this.buttonHelp.TabIndex = 10;
146            this.buttonHelp.Text = "Help";
147            this.buttonHelp.UseVisualStyleBackColor = true;
148            this.buttonHelp.Click += new System.EventHandler(this.buttonHelp_Click);
149            //
150            // checkBoxProgrammer
151            //
152            this.checkBoxProgrammer.AutoSize = true;
153            this.checkBoxProgrammer.Checked = true;
154            this.checkBoxProgrammer.CheckState = System.Windows.Forms.CheckState.Checked;
155            this.checkBoxProgrammer.Location = new System.Drawing.Point(28, 166);
156            this.checkBoxProgrammer.Name = "checkBoxProgrammer";
157            this.checkBoxProgrammer.Size = new System.Drawing.Size(84, 16);
158            this.checkBoxProgrammer.TabIndex = 11;
159            this.checkBoxProgrammer.Text = "Programmer";
160            this.checkBoxProgrammer.UseVisualStyleBackColor = true;
161            //
162            // groupBoxSex
163            //
164            this.groupBoxSex.Controls.Add(this.radioButtonMale);
165            this.groupBoxSex.Controls.Add(this.radioButtonFemale);
166            this.groupBoxSex.Location = new System.Drawing.Point(28, 188);
167            this.groupBoxSex.Name = "groupBoxSex";
168            this.groupBoxSex.Size = new System.Drawing.Size(415, 55);
169            this.groupBoxSex.TabIndex = 12;
170            this.groupBoxSex.TabStop = false;
171            this.groupBoxSex.Text = "Sex";
172            //
173            // radioButtonMale
174            //
175            this.radioButtonMale.AutoSize = true;
176            this.radioButtonMale.Location = new System.Drawing.Point(235, 24);
177            this.radioButtonMale.Name = "radioButtonMale";
178            this.radioButtonMale.Size = new System.Drawing.Size(113, 16);
179            this.radioButtonMale.TabIndex = 1;
180            this.radioButtonMale.Text = "radioButtonMale";
181            this.radioButtonMale.UseVisualStyleBackColor = true;
182            //
183            // radioButtonFemale
184            //
185            this.radioButtonFemale.AutoSize = true;
186            this.radioButtonFemale.Checked = true;
187            this.radioButtonFemale.Location = new System.Drawing.Point(55, 24);
188            this.radioButtonFemale.Name = "radioButtonFemale";
189            this.radioButtonFemale.Size = new System.Drawing.Size(125, 16);
190            this.radioButtonFemale.TabIndex = 0;
191            this.radioButtonFemale.TabStop = true;
192            this.radioButtonFemale.Text = "radioButtonFemale";
193            this.radioButtonFemale.UseVisualStyleBackColor = true;
194            //
195            // Form1
196            //
197            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
198            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
199            this.ClientSize = new System.Drawing.Size(561, 490);
200            this.Controls.Add(this.groupBoxSex);
201            this.Controls.Add(this.checkBoxProgrammer);
202            this.Controls.Add(this.buttonHelp);
203            this.Controls.Add(this.buttonOK);
204            this.Controls.Add(this.label5);
205            this.Controls.Add(this.label4);
206            this.Controls.Add(this.textBoxOutput);
207            this.Controls.Add(this.textBoxAge);
208            this.Controls.Add(this.textBoxAddress);
209            this.Controls.Add(this.textBoxName);
210            this.Controls.Add(this.label2);
211            this.Controls.Add(this.label1);
212            this.Name = "Form1";
213            this.Text = "Form1";
214            this.Validating += new System.ComponentModel.CancelEventHandler(this.textBoxEmpty_Validating);
215            this.groupBoxSex.ResumeLayout(false);
216            this.groupBoxSex.PerformLayout();
217            this.ResumeLayout(false);
218            this.PerformLayout();
219
220        }
221
222        #endregion
223
224        private System.Windows.Forms.Label label1;
225        private System.Windows.Forms.Label label2;
226        private System.Windows.Forms.TextBox textBoxName;
227        private System.Windows.Forms.TextBox textBoxAddress;
228        private System.Windows.Forms.TextBox textBoxAge;
229        private System.Windows.Forms.TextBox textBoxOutput;
230        private System.Windows.Forms.Label label4;
231        private System.Windows.Forms.Label label5;
232        private System.Windows.Forms.Button buttonOK;
233        private System.Windows.Forms.Button buttonHelp;
234        private System.Windows.Forms.CheckBox checkBoxProgrammer;
235        private System.Windows.Forms.GroupBox groupBoxSex;
236        private System.Windows.Forms.RadioButton radioButtonMale;
237        private System.Windows.Forms.RadioButton radioButtonFemale;
238    }
239}
240
241
Form1.cs
  1using System;
  2using System.Collections.Generic;
  3using System.ComponentModel;
  4using System.Data;
  5using System.Drawing;
  6using System.Text;
  7using System.Windows.Forms;
  8
  9namespace WA_TextBoxTest
 10{
 11    public partial class Form1 : Form
 12    {
 13        public Form1()
 14        {
 15            InitializeComponent();
 16            this.buttonOK.Enabled = false;
 17
 18            //Tag values for testing if the data is valid.
 19            this.textBoxName.Tag = false;
 20            this.textBoxAddress.Tag = false;
 21            this.textBoxAge.Tag = false;
 22
 23            //订阅事件Subscriptions to events
 24            this.textBoxName.Validating += new CancelEventHandler(this.textBoxEmpty_Validating);
 25            this.textBoxAddress.Validating += new CancelEventHandler(this.textBoxEmpty_Validating);
 26            this.textBoxAge.Validating += new CancelEventHandler(this.textBoxEmpty_Validating);
 27
 28            //当控件中文本发生改变,就激发TextChanged事件。
 29            this.textBoxName.TextChanged +=new EventHandler(textBox_TextChanged);
 30            this.textBoxAddress.TextChanged+=new EventHandler(textBox_TextChanged);
 31            this.textBoxAge.TextChanged += new EventHandler(textBox_TextChanged);
 32        }
 33
 34        private void buttonOK_Click(object sender, EventArgs e)
 35        {
 36            //No testing for invalid values are made ,as that should not be necessary
 37            string output;
 38           
 39            //Concatenate the text values of for TextBoxes.
 40            output = "Name:" + this.textBoxName.Text + "\r\n";
 41            output += "Address:" + this.textBoxAddress.Text + "\r\n";
 42            output += "Occupation:" + (string)(this.checkBoxProgrammer.Checked ?
 43                "Programmer" : "Not a programmer") + "\r\n";    //此句等价于下面这句
 44            output += "Occupation:" + (string)(this.checkBoxProgrammer.Checked ?
 45                this.checkBoxProgrammer.Text : ("Not a "+this.checkBoxProgrammer.Text)) + "\r\n";
 46            output += "Sex:" + (string)(this.radioButtonFemale.Checked ?
 47                "Female" : "Male") + "\r\n";    //此句等价于下面这句
 48            output += "Sex:" + (string)(this.radioButtonFemale.Checked ?
 49                this.radioButtonFemale.Text : this.radioButtonMale.Text) + "\r\n";
 50            output += "Age:" + this.textBoxAge.Text;
 51
 52            //Insert the new text.
 53            this.textBoxOutput.Text = output;
 54        }
 55
 56        private void buttonHelp_Click(object sender, EventArgs e)
 57        {
 58            //Write a short description of each TextBox in the Output TextBox.
 59            string output;
 60
 61            output = "Name=Your name\r\n";
 62            output += "Address=Your address\r\n";
 63            output += "Programmer=Check Programmer if you are a programmer\r\n";
 64            output += "Sex=Choose your sex\r\n";
 65            output += "Age=Your age";
 66
 67            //Insert the new text.
 68            this.textBoxOutput.Text = output;
 69        }
 70
 71        private void textBoxEmpty_Validating(object sender, CancelEventArgs e)
 72        {
 73            //我们知道这个sender是一个对话框,所以我们将他们强制转换为TextBox
 74            TextBox tb = (TextBox)sender;
 75
 76            //如果对话框是空的话我们设置TextBox背景色为红色来象征问题。
 77            //如果控件有valid信息,我们就使用控件的Tag值来指出。
 78            if (tb.Text.Length == 0)
 79            {
 80                tb.BackColor = Color.Red;
 81                tb.Tag = false;
 82                //在这个例子中我们不想取消further processing
 83                //但是如果我们想要这么做的话,我们只需要添加以下一行:
 84                //e.Cancel=true;
 85            }
 86            else
 87            {
 88                this.BackColor = SystemColors.Window;
 89                tb.Tag = true;
 90            }
 91            //Finally ,we call ValidateOK which will set the value of the OK button.
 92            ValidateOK();
 93        }
 94
 95        private void textBoxAge_KeyPress(object sender, KeyPressEventArgs e)
 96        {
 97            if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)
 98            {
 99                e.Handled = true;   //Remove the character
100                //等于true告诉用户不应该对字符进行任何操作
101            }
102        }
103
104        private void textBox_TextChanged(object sender, EventArgs e)
105        {
106            //Cast the sender object to a TextBox
107            TextBox tb = (TextBox)sender;
108
109            //Test if the data is valid and set the tag and back ground color accordingly.
110            if (tb.Text.Length == 0)
111            {
112                tb.Tag = false;
113                tb.BackColor = Color.Red;
114            }
115            else
116            {
117                tb.Tag = true;
118                tb.BackColor = SystemColors.Window;
119            }
120
121            //Call ValidateOK to set the OK button
122            ValidateOK();
123        }
124
125        private void ValidateOK()
126        {
127            //Set the OK button to enabled if all the Tags are true
128            this.buttonOK.Enabled = ((bool)(this.textBoxName.Tag) &&
129                (bool)(this.textBoxAge.Tag) &&
130                (bool)(this.textBoxAddress.Tag));
131        }
132    }
133}
[示例说明]:
1、开发语言:C#
2、开发环境:Visual Studio.Net 2005 Team suite
3、开发模板:C#.net项目->Windows应用程序
http://www.cnblogs.com/volnet/archive/2006/11/27/574437.html


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·用javascript调用webservice(webservice behavior)-ASP教程,ASP应用
·Java中对文件的操作-JSP教程,Java技巧及代码
·VB.net进阶:VB.net下的Sniffer-.NET教程,VB.Net语言
·如何利用VB.NET修改系统时间-.NET教程,VB.Net语言
·电源技术与电子变压器
·解析几种有效开关电源电磁干扰抑制
·教你完全卸载智能abc输入法
·电源系统中多个子系统之间电磁兼容
·ASP.net 2.0 自定义控件的开发之数据分页 第一章-.NET教程,Asp.Net开发
·VS2005新控件之GridView 使用高级技巧系列[二][视频]-.NET教程,评论及其它
最新文章
·3000ip以下网站该如何赚钱_网赚技巧
·谈谈我的下载站日ip5000 月收入3000的经验_站长心得
·photoshop绘制逼真的自然背景:山间瀑布_photoshop教程
·删掉系统文件 让windows vista少占用我们的硬盘_windows vista
·突出网页内重要内容保证adsense匹配准确_网赚技巧
·借台电脑办网站—访深圳外来工站长姚永卫_站长访谈
·创建优秀网站的6个好习惯_站长心得
·做一个网站 营造氛围有多重要?_站长心得
·如何让网民爱上你的网站?(3)_站长心得
·专家支招域名安全“三原则”有效规避域名掠夺_站长心得
相关主题
  • RadioButtonList在Datagrid模板列中的应用-ASP教程,数据库相关
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭