8.5 工具箱其它常用控件和组件

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

8.5.1 Timer(计时器)组件

Timer组件可以按用户定义的时间间隔引发事件。

Timer常用属性:

  1. Interval:引发Tick事件的时间间隔(以毫秒为单位)。
  2. Enabled:获取或设置计时器是否正在运行。

Timer常用方法:

  1. Start:启动计时器。等同于设置Enabled属性为True。
  2. Stop:停止计时器,停止触发Tick事件。等同于设置Enabled属性为False。

Timer常用事件:

  1. Tick:当指定的计时器间隔已过去而且计时器处于启用状态时触发。

【例 8.57【项目:code8-057】使用Timer控制进度条。

在窗体上放置一个ProgressBar控件、一个Label控件和一个Button控件,放入一个Timer组件。具体代码如下:

        int value;

        private void button1_Click(object sender, EventArgs e)

        {

            if(button1.Text == "开始")

            {

                button1.Text = "停止";

                //启动计时器

                timer1.Start();

                //或者

                //timer1.Enabled = true

            }

            else

            {

                button1.Text = "开始";

                //停止计时器

                timer1.Stop();

            }

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            //设置计时器时间间隔

            timer1.Interval = 100;

            value = 0;

        }

        private void timer1_Tick(object sender, EventArgs e)

        {

            value += 1;

            if(value > 100)

            {

                //停止计时器

                timer1.Stop();

                //或者

                //timer1.Enabled = false

                button1.Text = "开始";

            }

            else

            {

                label1.Text = "进度:" + value;

                progressBar1.Value = value;

            }

        }

运行结果如下图所示:

图8-94 使用Timer控制进度条

8.5.2 DomainUpDown域值框)控件

DomainUpDown控件通过单击控件内向上和向下按钮选择预先输入的文本。

DomainUpDown常用属性:

  1. ReadOnly:是否不能输入,而只能使用向上或向下按钮更改文本。
  2. InterceptArrowKeys:指示是否可以按下键盘上的上键和下键选择值。
  3. Wrap:指示如果用户选择项超过了列表的开头或结尾,那么是否跳到结尾项或开头项。
  4. Items:可以通过Add、Remove、Clear等方法实现项的添加、删除、清除等操作。

DomainUpDown常用方法:

  1. UpButton:显示集合中的上一项。
  2. DownButton:显示集合中的下一项。

DomainUpDown常用事件:

  1. SelectedItemChanged:显示项索引发生改变后触发。

【例 8.58【项目:code8-058】使用DomainUpDown控件。

        private void Form1_Load(object sender, EventArgs e)

        {

            //向DomainUpDown1中添加项

            domainUpDown1.Items.Add("篮球");

            domainUpDown1.Items.Add("足球");

            domainUpDown1.Items.Add("乒乓球");

            //只读

            domainUpDown1.ReadOnly = true;

            //按下上下按钮可以循环项

            domainUpDown1.Wrap = true;

            //当前选中第一项

            domainUpDown1.SelectedIndex = 0;

        }

运行结果如下图所示:

图8-95 按下上下按钮循环显示项

8.5.3 ErrorProvider(错误提示)组件

ErrorProvider组件向用户显示一个错误提示图标,指示窗体上的某个控件发生了验证错误,并提供了错误信息。ErrorProvider组件常用于用户输入和选择发生错误时显示提示信息。

ErrorProvider常用属性:

  1. Icon:当为控件设置了错误描述字符串时,该图标会显示在控件旁边。 默认图标是感叹号。
  2. BlinkRate:错误图标的闪烁间隔时间,单位毫秒,默认值为 250 毫秒。
  3. BlinkStyle:指示错误图标的闪烁样式,可以是以下值:

AlwaysBlink:错误图标总是闪烁。

BlinkIfDifferentError:闪烁几次后不再闪烁。

NeverBlink:错误图标从不闪烁。

另外,当向窗体添加ErrorProvider组件后,其它控件的【属性】窗口会增加以下项目:

  1. ErrorProvider1上的Error:错误说明。
  2. ErrorProvider1上的IconAlignment:相对于控件的位置。
  3. ErrorProvider1上的IconPadding:错误图标与控件之间的间隔,单位像素。

ErrorProvider常用方法:

  1. SetError:设置指定控件的错误描述字符串。如果参数value的长度大于零,则显示错误图标,而且错误图标的工具提示是value。如果value为空,则隐藏错误图标。
  2. SetIconPadding:错误图标和指定控件之间的间隔。
  3. Clear:清除与此组件关联的所有设置。微软建议,如果只是清除错误消息,那么使用SetError方法。

【例 8.59【项目:code8-059】使用ErrorProvider组件提示用户输入错误。

向窗体上放置一个TextBox控件、一个Button控件、一个Timer组件和一个ErrorProvider组件。

        private void button1_Click(object sender, EventArgs e)

        {

            int result;

            //如果输入的不是数字

            if (!(int.TryParse(textBox1.Text, out result)))

            {

                //设置错误图标和文本框的间隔为10像素

                errorProvider1.SetIconPadding(textBox1, 10);

                //错误图标上的提示信息

                errorProvider1.SetError(textBox1, "输入不是有效的数字");

                //3秒后清除错误信息

                timer1.Interval = 3000;

                //启动计时器

                timer1.Start();

            }

            else

                MessageBox.Show("验证通过");

        }

        private void timer1_Tick(object sender, EventArgs e)

        {

            //清除错误提示

            errorProvider1.SetError(textBox1, "");

            //停止计时器

            timer1.Stop();

        }

运行结果如下图所示:

图8-96 用户输入错误时出现错误图标

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.Net学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值