感谢您阅读我的博客,如果您现在工作、学习累了或者疲惫了,不妨聆听一下音乐,它能够减轻你的疲劳,还能够带给您一种舒适愉悦的心情。如果您认为这篇文章还不错或者有所收获,您可以在页面 右侧和底部 扫描二维码 打赏我,您的鼓励是我继续写作、分享的最大动力!

WinForm实现ComboBox添加ToolTip悬浮文本提示功能

1.代码结构

2.实现代码
using System;
using System.Drawing;
using System.Windows.Forms;

namespace WinFormComboBoxWithTooltipDemo
{
    /// <summary>
    ///     WinForm 实现 ComboBox带有悬浮提示文本
    ///     LDH @ 2018-6-6
    /// </summary>
    public partial class FrmMain : Form
    {
        /// <summary>
        ///     ToolTip
        /// </summary>
        private readonly ToolTip _tip = new ToolTip();

        public FrmMain()
        {
            InitializeComponent();
        }

        private void FrmMain_Load(object sender, EventArgs e)
        {
            comboBox1.Items.Clear();

            comboBox1.Items.Insert(0, "第一");
            comboBox1.Items.Insert(1, "第二");
            comboBox1.Items.Insert(2, "第三");
            comboBox1.Items.Insert(3, "第四");

            comboBox1.DrawMode = DrawMode.OwnerDrawFixed;
            comboBox1.DrawItem += comboBox1_DrawItem;
            comboBox1.DropDownClosed += comboBox1_DropDownClosed;

            comboBox1.SelectedIndex = 1;
        }

        private void comboBox1_DropDownClosed(object sender, EventArgs e)
        {
            _tip.Hide(comboBox1);
        }

        private void comboBox1_DrawItem(object sender, DrawItemEventArgs e)
        {
            // 绘制背景
            e.DrawBackground();

            //  绘制列表项目
            e.Graphics.DrawString(comboBox1.Items[e.Index].ToString(), e.Font, Brushes.Black, e.Bounds);

            //  将高亮的列表项目的文字传递到toolTip1(之前建立ToolTip的一个实例)
            if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
            {
                _tip.Show(comboBox1.Items[e.Index].ToString(), comboBox1, e.Bounds.X + e.Bounds.Width,
                    e.Bounds.Y + e.Bounds.Height);
            }

            e.DrawFocusRectangle();
        }
    }
}
3.运行效果

posted @ 2018-06-06 15:24  Love In Winter  阅读(494)  评论(0编辑  收藏  举报
作者: LifeDecidesHappiness
出处: http://www.cnblogs.com/LifeDecidesHappiness/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,否则保留追究法律责任的权利,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址 2468881301@qq.com  联系我,非常感谢。
踏实做一个为人民服务的搬运工!
如果您认为这篇文章还不错或者有所收获,您可以通过右边的“打赏”功能,您的支持和鼓励是我继续写作、分享的最大动力!

点击关注不迷路,让我带你上高速!