关于自定义绘制里ListBox的2个问题
我在做winForm   >    ListBox自定义的时候,使用 
 DrawMode   =   OwnerDrawVariable 
 用OnMeasureItem和OnMeasureItem绘图。   
 现在的问题是OnMeasureItem比较头痛,因为有2个问题没办法解决,看看各位有什么办法没有?还是我哪里做错了   
 1、OnMeasureItem只会在ListBox被创建的时候调用一次?我希望改变ListBox的大小的时候,里面的Item会随着大小的变化而自动调整高度。结果没有调用OnMeasureItem方法。是不是又是winForm的Bug?   
 2、OnMeasureItem中指定ItemWidth不可以超出ListBox的长度么?而且ListBox不会产生水平滚动条?这个比较麻烦,有什么好的办法可以让他才生水平滚动条的?     
 如果觉得分数不够,可以再加。
------解决方案--------------------to 1、OnMeasureItem只会在ListBox被创建的时候调用一次?我希望改变ListBox的大小的时候,里面的Item会随着大小的变化而自动调整高度。结果没有调用OnMeasureItem方法。是不是又是winForm的Bug?   
 你可以在ListBox的OnSizeChanged事件中重新调用OnMeasureItem事件。   
 to 2、OnMeasureItem中指定ItemWidth不可以超出ListBox的长度么?而且ListBox不会产生水平滚动条?这个比较麻烦,有什么好的办法可以让他才生水平滚动条的?   
 我记得滚动条是随着Control的Item长宽而自动出现的,因此你可以把ItemWidth设得比较大,而进行重绘的时候,考虑的是真实数据的大小,因此ItemWidth并不起作用。
------解决方案--------------------http://msdn2.microsoft.com/zh-cn/library/system.windows.forms.listbox.onmeasureitem(VS.80).aspx 
 http://msdn2.microsoft.com/zh-cn/library/system.windows.forms.listbox.measureitem(VS.80).aspx   
 你可以看看MSDN里面这一部分的资料.里面只说对ItemHeight有限制,ItemWidth是没有特别说明.
------解决方案--------------------OnMeasureItem,这个事件估计不够用!