你好,在使用LISTBOX中遇到的问题。

Sep 3, 2010 at 5:14 PM

你好。在LISTBOX的lstbox_DrawItem方法中如何实现文本的换行。

 

  g.DrawString(item.Text, font, brush, textRect, sf); 此语句DrawString ,由于字符串过长。我想换行显示。研究了三天使用各种方法丢没有达到效果。

 

我尝试在 项目添加的时候在字符串内加入"\n",但依然无法换行。

if (list.Text.Length > 16)
                    {
                        list.Text = list.Text.Insert(16, "\n");

                    }

 

请赐教!谢谢!

Coordinator
Sep 6, 2010 at 2:36 AM

.Net CF 中的GDI+不支持自动换行,需要在绘制的时候进行判断,比如超过一定长度,将文本分行绘制或者文本中存在回车符(\r\n)进行分行绘制。

在绘制之前,先进行文本的分行处理,存入数组,然后循环绘制到两个矩形中即可