Windows应用程序高级控件之ErrorProvider,HelpProvider,Timer和ProgressBar

1.ErrorProvider控件


(1)用途:在不影响用户操作的情况下向用户显示有错误发生,一般在验证用户输入的数据是常用到该控件,这里就好像web应用中的CompareValidator等验证控件差不多。


(2)一般通过ErrorProvider控件的SetError方法设置指定控件的错误。

public void SetError(Control control,string value)

参数control表示要为其设置错误描述字符串的控件

参数value表示描述错误信息的字符串


(3)实例代码:

一般判断逻辑都写在后台控件自身的Validating事件中的。

        private void textBox1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (textBox1.Text == "")			//判断是否输入商品名称
            {
                errorProvider1.SetError(textBox1, "不能为空");//如果没有输入则激活errorProvider1控件
            }
            else
            {
                errorProvider1.SetError(textBox1, "");// errorProvider1控件不显示消息
            }
        }
        private void textBox2_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (textBox2.Text == "")			//判断是否输入
            {
                errorProvider2.SetError(textBox2, "不能为空");//设置errorProvider2的错误提示
            }
            else
            {
                try
                {
                    int x = Int32.Parse(textBox2.Text);//判断是否输入数字,如果不是数字会出现异常
                    errorProvider2.SetError(textBox2, "");// errorProvider2控件不显示任何错误信息
                }
                catch
                {
                    //如果出现异常,设置errorProvider2控件的错误信息
                    errorProvider2.SetError(textBox2, "请输入一个数");
                }
            }
        }
        private void textBox3_Validating(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (textBox3.Text == "")					//判断是否输入
            {
                errorProvider3.SetError(textBox3, "不能为空");//设置errorProvider3显示的错误消息
            }
            else
            {
                errorProvider3.SetError(textBox3, "");// errorProvider3控件不显示任何消息
            }
        }


运行截图:






2.HelpProvider控件

这个就不多说了,主要是调用帮助文件的。

主要是HelpNamespace这个用来指定帮助文件名称的属性和SetShowHelp(control,value)这个方法

注意:首先在程序的bin文件中创建Help.htm帮助文档。

主要代码:

string strPath="Help.htm";//设置帮助文件的位置

helpProvider1.HelpNamespace=strPath;//设置HelpNamespace属性,设置帮助文件路径

helpProvider1.SetShowHelp(this,true);//设置方法指定是否显示控件的帮助信息




3.Timer控件------重要,常用


(1)用途:定期引发事件,时间间隔的长度由其Interval属性定义,其属性值以毫秒为单位。

启动该控件,则每个事件间隔引发一次Tick事件,我们可以在Tick事件中添加要执行操作的代码。


(2)Interval属性用于设置计时器开始计时的事件间隔。

public int Interval{get;set;}

该值表示计时器每次开始计时之间的间隔毫秒数,该值不小于1.


(3)Timer控件的Start方法和Stop方法分别用来启动和停止计时器


(4)实例部分重要代码:显示当前的系统时间

        private void Form1_Load(object sender, EventArgs e)
        {
            timer1.Interval = 1000;//设置Interval 属性为1000毫秒
        }
        private void timer1_Tick(object sender, EventArgs e)// timer1控件的Tick事件
        {
            textBox1.Text = DateTime.Now.ToString();//获取系统当前日期
        }


运行截图:







4.ProgressBar控件-----重要,常用


(1)用途:通过在水平放置的方框中显示适当数目的矩形块来指示工作的进度,工作完成后,进度条被填满,进度条用于帮助用户了解等待一项工作完成的进度,所以是一种很好的人机交互的控件。


(2)重要的属性和方法

Value             表示操作过程中已完成的进度

Minimum           设置进度条的最小值

Maximum           设置进度条的最大值

Step              指定Value属性递增的值

PerformStep       递增Step的值


(3)实例部分重要的代码

        private void button1_Click(object sender, EventArgs e)
        {
            progressBar1.Value = 0;//设置进度条的初始值
            progressBar1.Minimum = 0;//设置progressBar1控件的Minimum值为0
            progressBar1.Maximum = 500;//设置progressBar1的Maximum值为500
            progressBar1.Step = 1;//设置progressBar1的增值为1
            for (int i = 0; i < 500; i++)//调用for语句循环递增
            {
                progressBar1.PerformStep();//使用PerformStep方法按Step值递增
                textBox1.Text = "进度值:" + progressBar1.Value.ToString();
            }
        }


运行截图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值