版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的
8.5.1 Timer(计时器)组件
Timer组件可以按用户定义的时间间隔引发事件。
Timer常用属性:
- Interval:引发Tick事件的时间间隔(以毫秒为单位)。
- Enabled:获取或设置计时器是否正在运行。
Timer常用方法:
- Start:启动计时器。等同于设置Enabled属性为True。
- Stop:停止计时器,停止触发Tick事件。等同于设置Enabled属性为False。
Timer常用事件:
- 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常用属性:
- ReadOnly:是否不能输入,而只能使用向上或向下按钮更改文本。
- InterceptArrowKeys:指示是否可以按下键盘上的上键和下键选择值。
- Wrap:指示如果用户选择项超过了列表的开头或结尾,那么是否跳到结尾项或开头项。
- Items:可以通过Add、Remove、Clear等方法实现项的添加、删除、清除等操作。
DomainUpDown常用方法:
- UpButton:显示集合中的上一项。
- DownButton:显示集合中的下一项。
DomainUpDown常用事件:
- 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常用属性:
- Icon:当为控件设置了错误描述字符串时,该图标会显示在控件旁边。 默认图标是感叹号。
- BlinkRate:错误图标的闪烁间隔时间,单位毫秒,默认值为 250 毫秒。
- BlinkStyle:指示错误图标的闪烁样式,可以是以下值:
AlwaysBlink:错误图标总是闪烁。
BlinkIfDifferentError:闪烁几次后不再闪烁。
NeverBlink:错误图标从不闪烁。
另外,当向窗体添加ErrorProvider组件后,其它控件的【属性】窗口会增加以下项目:
- ErrorProvider1上的Error:错误说明。
- ErrorProvider1上的IconAlignment:相对于控件的位置。
- ErrorProvider1上的IconPadding:错误图标与控件之间的间隔,单位像素。
ErrorProvider常用方法:
- SetError:设置指定控件的错误描述字符串。如果参数value的长度大于零,则显示错误图标,而且错误图标的工具提示是value。如果value为空,则隐藏错误图标。
- SetIconPadding:错误图标和指定控件之间的间隔。
- 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#教程 目录