可以加提示的
如下是些参考 http://social.msdn.microsoft.com/forums/en-US/vbgeneral/thread/9b69fcd9-e9af-4f06-96e9-f164ee6e5428
http://crmdev.wordpress.com/2010/01/16/how-to-deal-with-stubborn-silverlight-a-k-a-stubborn-me/
谢谢; 但这是Winform的,而且是自己赋值的;我现在的情况是web程序,且是绑定的DataTabe。这种绑定的模式好像不太一样。 我在看看。
1、首先选中拖至面板的ListBox控件,点属性,选中DrawMode,改成OwnerDrawFixed或OwnerDrawVariable
2、还是在属性工具中,切换到事件(就是那个闪电图标),鼠标双击‘行为’菜单下的DrawItem,添加一个事件。
3、在‘窗体设计器生成的代码’中就添加了一个新的事件
this.listBox1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.listBox1_DrawItem);
4、在事件中添加代码,你自己通过文字的长度和文字的高度,计算每一列的宽度,进行设置。
private void listBox1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) { Brush myBrush = Brushes.Black; //初始化字体颜色=黑色 //此处需要根据当前item中的文字算出item的高,比如算出后是90,则 this.listBox1.ItemHeight=90; e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, myBrush,e.Bounds,null); e.DrawFocusRectangle(); }