kryptonListBox控件,出自www.componentfactory.com的Krypton Toolkit,是一套免费的DotNet控件,同时官方提供商业版的Docking,Navigating和RIbbon。最为遵纪守法的穷人,我选择了免费的Toolkit作为开发部件,不敢使用商业版的套件。

在这个控件中有几个地方不如人意,在此备注

  • Item的单击,双击等等鼠标事件,需要在kryptonListBox1.ListBox上面实现,而不是控件自己本身实现,在控件自己本身上实现了事件侦听也无用,貌似不会被触发。
  • kryptonListBox1.ListBox.DoubleClick += new EventHandler(ListBox_DoubleClick);
    kryptonListBox1.ListBox.Click += new EventHandler(ListBox_Click);
    kryptonListBox1.ListBox.MouseMove += new MouseEventHandler(ListBox_MouseMove);

  • 很遗憾,没有Tooltip,需要自己实现

       void ListBox_MouseMove(object sender, MouseEventArgs e)
        {
            ListBox objListBox = (ListBox)kryptonListBox1.ListBox ;
            int itemIndex = -1;
                if (objListBox.ItemHeight != 0)
                {
                    itemIndex =  e.Y/ objListBox.ItemHeight;
                    itemIndex += objListBox.TopIndex;
                }
                if ((itemIndex >= 0) && (itemIndex < kryptonListBox1.Items.Count))
                {
                    KryptonListItem item = kryptonListBox1.Items[itemIndex] as KryptonListItem;
                    if (null != item)
                    {
                        toolTip1.SetToolTip(objListBox, item.ShortText);
                    }
                }
                else
                {
                    toolTip1.Hide(objListBox);
                }

        }


Jeason Zhao (沈胜衣,斛律光) ------雪饮再现,一个人的江湖
我知道我是谁,我是沈胜衣,默默的活着,就像空气。