先看效果:

1 建立Winform窗体工程
2.创建类 ComboBoxMutiSelect
-- 继承于CombBox
-- 设置控件双缓冲属性
-- 添加私有属性 _IsMultiSelect
-- 添加属性 IsMultiSelect
class ComboBoxMutiSelect : ComboBox
{
private bool _IsMultiSelect;
public bool IsMultiSelect { get => _IsMultiSelect; set => _IsMultiSelect = value; }
public ComboBoxMutiSelect()
{
SetStyle(ControlStyles.DoubleBuffer |
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.AllPaintingInWmPaint, true);
UpdateStyles();
}
}
3.创建一个对话框,添加ComboBox控件,假设该控件的对象为 comboBox1
打开对话框的设计代码:对话框名字.Desiger.cs
--修改控件声明
将
private System.Windows.Forms.ComboBox comboBox1;
改为
private ComboBoxMutiSelect comboBox1; <

本文介绍如何在C# WinForm应用中创建一个支持多选的CombBox控件。通过继承CombBox,设置双缓冲属性,添加IsMultiSelect属性,以及在对话框中实现CheckedListBox与CombBox的交互,实现多选功能。详细步骤包括控件的声明、实例化、绘制以及事件处理,确保在鼠标操作下能正确显示和隐藏下拉框,并将选定的多项内容显示在控件上。
最低0.47元/天 解锁文章
3050

被折叠的 条评论
为什么被折叠?



