Winform ComboBox控件高亮显示

本文介绍如何使用C#自定义Windows Forms中的ComboBox控件样式,包括设置下拉列表的显示模式为自绘,并在选中项高亮时显示ToolTip提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 
            //重绘下拉表单窗口,需要在窗口设计代码中加入下面这一句  
            this.cmdChannelName.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
            //下拉表单重绘事件  
            this.cmdChannelName.DrawItem += new System.Windows.Forms.DrawItemEventHandler(kineticFileComboBox_DrawItem);
            this.cmdChannelName.DropDownClosed += new System.EventHandler(kineticFileComboBox_DropDownClosed);




  #region ComboBox控件高亮显示
        //[主程序中的代码]  
        private void kineticFileComboBox_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)
        {
            // 绘制背景  
            e.DrawBackground();
            //绘制列表项目  
            e.Graphics.DrawString(cmdChannelName.Items[e.Index].ToString(), e.Font, System.Drawing.Brushes.Black, e.Bounds);
            //将高亮的列表项目的文字传递到toolTip1(之前建立ToolTip的一个实例)  
            if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
                toolTip1.Show(cmdChannelName.Items[e.Index].ToString(), cmdChannelName, e.Bounds.X + e.Bounds.Width, e.Bounds.Y + e.Bounds.Height);
            e.DrawFocusRectangle();
        }

        //关闭列表时,同时关闭toolTip1的显示  
        private void kineticFileComboBox_DropDownClosed(object sender, System.EventArgs e)
        { toolTip1.Hide(cmdChannelName); }
        #endregion

 

效果图:

 

转载于:https://www.cnblogs.com/xiaoqi742709106/p/4635832.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值