基于.NET的Windows窗体编程之WinForms提示控件

[复制链接]
发表于 2026-6-29 10:16:13 | 显示全部楼层 |阅读模式
在实际应用开发中,偶然间为了雅观大概节省UI空间,常常见到有些控件只有图标,没有笔墨分析,当用户鼠标放在图标控件上时,才体现相应的文本提示(Tips),大概当必要时才体现的一种控件,本日以一些简单的小例子,简述在基于.NET的Windows窗体编程之WinForms中提示控件的常见用法,仅供学习分享使用,如有不敷之处,还请指正。

 
概述

 
在WinForms开发框架中,常见的提示控件重要有以下几种:

  • ToolTip,用于在用户鼠标指向控件时体现文本,它可以与任何控件干系联。
  • NotifyIcon,在使命栏的状态关照地区中体现背景运行而且没有用户界面的历程图标。
  • ErrorProvider,用于以非干扰性的方式向用户体现错误,通常与验证窗体上的用户输入或体现数据会集的错误团结使用。
 
ToolTip

 
ToolTip用于在用户鼠标指向控件时体现文本,它可以与任何控件干系联,且可以同时为多个控件举行工具提示。ToolTip关键属性如下所示:

  • AutoPopDelay,确定当鼠标在工具提示地区保持静止时,工具提示窗口保持可见的时间长度。
  • InitialDelay 属性确定用户必须指向关联控件多长时间才气体现 ToolTip 字符串。 
  • ReshowDelay 属性设置当鼠标从一个 ToolTip 关联控件移动到另一个关联控件时,随后 ToolTip 字符串出现所需的时间(毫秒)。
  • AutomaticDelay,它是一个综合属性,可以主动的将上述三个属性值公道分配时间。比方,当 AutomaticDelay 设置为值 N 时,InitialDelay 设置为 N,ReshowDelay 设置为 AutomaticDelay 除以 5(或 N/5)的值,AutoPopDelay 设置为 AutomaticDelay 属性(或 5N)的值五倍的值。
  • IsBalloon,指定ToolTip是否以气球的情势出现,默以为false。
  • ShowAlways,是否不绝体现工具提示,纵然控件不处于激活状态时,默以为false。
  • ToolTipIcon,工具提示的图标,它有四个选项:None,Info,Warning,Error。
  • ToolTipTitle,用于设置获/取工具提示的标题。
  • UseAnimation,提示框体现或潜伏时是否使用动画。
  • UseFading,提示框体现或潜伏时是否使用淡入淡出的结果。
起首拖动ToolTip控件到Form表单中,由于ToolTip组件默认不体现在页面中,默认不会在Form表单上体现,而是体现在组件托盘中,如下所示:

在选中Form表单的其他控件时,在控件的属性对话框中,就是多出一个属性“ToolTip on toolTip1”,在属性框中输入提示的文本,如下所示:

运行示例,结果如下所示:

也可以在背景代码中设置控件的ToolTip,如在Form的Load事故中,设置按钮的工具提示,如下所示:
  1. private void FrmTips_Load(object sender, EventArgs e)
  2. {
  3.     this.toolTip1.SetToolTip(this.btnOpen, "Please click it to open the file dialog.");
  4. }
复制代码
运行实例,结果如下所示:

 
NotifyIcon

 
NotifyIcon组件在使命栏的状态关照地区中体现背景运行而且没有用户界面的历程图标,而且大部分时间都不会体现用户界面。 比方,可以通过单击使命栏的状态关照地区中的图标来访问病毒防护步调。每个 NotifyIcon 组件在状态地区中体现一个图标。 如果你有三个背景历程而且盼望为每个历程体现一个图标,则必须向窗体添加三个 NotifyIcon 组件。 NotifyIcon 组件的关键属性,重要有以下几个:

  • Icon 属性设置体现在状态地区中的图标。 
  • Visible 体现控件是否体现,若要体现图标,必须将Visible设置为true。
  • BalloonTipText,体现气球状提示关联的文本
  • BalloonTipIcon,体现气球状提示关联的图标 
  • BalloonTipTitle,体现气球状提示关联的标题
NotifyIcon的关键事故:

  • DoubleClick 事故处置惩罚步调中编写代码,以便在用户双击图标时发生某种环境。 
 
起首拖动NotifyIcon控件到Form表单中,然后设置NotifyIcon的干系属性(如Icon,Visible)等,如下所示:

在Form的巨细变革时,当Form最小化时,调用NotifyIcon的ShowBallonTip方法,体现提示,如下所示:
  1. private void FrmTips_SizeChanged(object sender, EventArgs e)
  2. {
  3.     if (WindowState == FormWindowState.Minimized)
  4.     {
  5.         this.notifyIcon1.ShowBalloonTip(30000, "Tips", "这是一个提示", ToolTipIcon.Info);
  6.     }
  7. }
复制代码
为NotifyIcon注册Click事故,当点击时触发相应,如下所示:

Click事故的内容如下所示:
  1. private void notifyIcon1_Click(object sender, EventArgs e)
  2. {
  3.     this.WindowState = FormWindowState.Normal;
  4. }
复制代码
运行示例,结果如下所示:

 
ErrorProvider

 
ErrorProvider组件用于以非干扰性的方式向用户体现错误。 它通常与验证窗体上的用户输入或体现数据会集的错误团结使用。错误提供步调比在消息框中体现错误消息更好,由于一旦消除消息框,错误消息将不再可见。 该 ErrorProvider 组件在干系控件旁边体现错误图标(
比方文本框;当用户将鼠标指针放在错误图标上时,将体现一个工具提示,体现错误消息字符串。ErrorProvider组件的关键属性重要有以下几个:

  • ContainerControl 体现组件的父控件,通常是 Windows 窗体,以便组件在窗体上体现错误图标。
  • Icon,体现错误提示图标,可以设置为自界说错误图标而不是默认值。
  • DataSource,体现绑定错误的数据源。
起首拖动ErrorProvider控件到Form表单中,默认ContainerControl属性会主动设置为当前Form表单,Icon也有默认赤色图标,如下所示:

在Form表单上拖动两个文本框控件,分别为txtName,txtAge,用于属性姓名和年事,然后分别设置控件的Validating事故,用于验证用户属性的数据是否有用,如下所示:

在验证事故中自界说验证逻辑,如输入不正当时,则通过设置ErrorProvider的SetError方法举行设置信息,如下所示:
[code]private void txtAge_Validating(object sender, CancelEventArgs e){    try    {        int x = Int32.Parse(txtAge.Text);        errorProvider1.SetError(txtAge, "");    }    catch    {        errorProvider1.SetError(txtAge, "请输入一个数字.");    }}private void txtName_Validating(object sender, CancelEventArgs e){    if( this.txtName.Text.Length > 1&& this.txtName.Text.Length

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表