随笔 - 113  文章 - 0  评论 - 218  阅读 - 73万

窗体设计中个性化提示消息

一、向提示框中添加图标

在开发程序时,为了让用户熟悉操作,经常使用一些提示框,显示提示信息。默认情况下,提示信息框只包含提示信息,未免有些单调,如果在提示信息框中显示一个图标,程序或许就别具风格了。本实例实现了在提示框中添加图标的功能。

技术要点
要修改提示信息框的风格,首先需要了解C#中提示信息框的设计原理。在C#中,提示信息框是用ToolTip控件来实现的。ToolTip控件的ToolTipIcon属性可以设置提示时显示的图片,下面详细介绍一下该属性。

ToolTip.ToolTipIcon属性用来获取或设置一个值,该值定义要在工具提示文本旁显示的图标的类型。

属性值:System.Windows.Forms.ToolTipIcon枚举值之一。

实现过程

(1)创建一个项目,默认窗体为Form1。
(2)在Form1窗口中添加3个Label控件,用来显示文字。
(3)在窗体上添加ToolTip控件用来显示提示内容和提示样式。
(4)主要程序代码。
.     
  private void Form1_Load(object sender, EventArgs e)
        {
            toolTip1.SetToolTip(label1,"人生格言");
            toolTip1.SetToolTip(label2, "人生格言");
        }

总结:

根据本实例,可以实现以下功能。
1、自定义提示信息框。
2、制作气泡样式提示信息框。


二、修改提示字体及颜色
 
如果设置了控件的ToolTip属性,当鼠标移到该控件后,会提示相关的文本,但没有提供对提示字体及颜色的设置属性,如何改变提示文本的样式和字体呢?本例可以设置提示文本的字体及颜色。

技术要点
    C# 中提供了ToolTip控件,可以指定关联控件并为每个控件提供提示文本,其中ToolTipTitle属性指定文本提示盒中的文本。下面介绍相关的属性和方法。
(1)SetToolTip方法

使工具提示文本与指定的控件相关联。其语法结构如下:

public void SetToolTip (Control control,string caption)

参数说明如下:
     control:要将工具提示文本与其关联的Control。
     caption:指针位于控件上方时要显示的工具提示文本。

(2)ToolTip.ToolTipTitle属性

获取或设置工具提示窗口的标题。其语法结构如下:

public string ToolTipTitle { get; set; }

      属性值:包含窗口标题的String。该标题在窗口中作为一行粗体文本显示在标准的工具提示控件说明文本的上方。通常,标题只用于区分窗体上不同类别的控件,或作为较长控件说明的简介。

 实现过程

(1)创建一个项目,默认窗体为Form1。
(2)在Form1窗体上添加Button控件用来在其上方显示提示文本;添加ToolTip控件用来设计提示文本。
(3)主要程序代码。
设置提示文本,及提示文本的关联控件,具体代码如下:
     
     private void Form1_Load(object sender, EventArgs e)
        {
            this.toolTip1.OwnerDraw = true;
            this.toolTip1.SetToolTip(this.button1,"设置提示的字体及颜色");
            this.toolTip1.Draw += new DrawToolTipEventHandler(toolTip1_Draw);
        }
 设置文本的提示样式,具体代码如下:
       
复制代码
    void toolTip1_Draw(object sender, DrawToolTipEventArgs e)
        {
           // throw new Exception("The method or operation is not implemented.");
            e.DrawBackground( );
            e.DrawBorder( );
            using (StringFormat sf = new StringFormat( ))
            {
                sf.Alignment = StringAlignment.Center;
                sf.LineAlignment = StringAlignment.Center;
                sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.None;
                sf.FormatFlags = StringFormatFlags.NoWrap;
                using (Font f = new Font("宋体"12))
                {
                    e.Graphics.DrawString(e.ToolTipText, f,
                        SystemBrushes.ActiveCaptionText, e.Bounds, sf);
                }
            }
        }
复制代码

总结:

根据本实例,可以实现以下功能。
    1、修改任意控件提示文本的样式。
    2、提示时加提示的声音。
posted on   陈国利  阅读(1620)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2012年2月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 1 2 3
4 5 6 7 8 9 10

点击右上角即可分享
微信分享提示