posts - 50, comments - 140, trackbacks - 8, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

扩展WinForm的ComboBox

Posted on 2008-01-22 14:43 faib 阅读(576) 评论(2)  编辑 收藏 网摘 所属分类: C#控件
    个人认为winform的combobox不是那么的好用,所以自己扩展了一下。
    重新定义Items属性,并且支持树结构。
    为每项加入了CheckBox状态。
    丰富的列表项类ListItem。
    效果如图:
    代码清单:
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing.Design;
using System.Drawing.Drawing2D;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace FaibClass.Windows.Forms
{
    [Designer(
typeof(ControlDesigner))]
    
public class ComboBox : System.Windows.Forms.ComboBox
    
{
        
// Fields
        private bool blnIsChange = false;
        
private int m_ImageIndex = -1;
        
private ImageList m_ImageList;
        
private ListItemCollection m_items;
        
private object objSource;
        
private Color m_ItemHoverBackColor;
        
private Color m_ItemHoverGradientBackColor = Color.Empty;
        
private Color m_ItemHoverColor;
        
private int m_Indent = 16;
        
private bool m_CheckBoxes = false;
        
private bool isUpdate = false;
        
private ComboBoxWindow wnd = null;
        
internal static int nextId = 0;

        
Methods