如何将长文本文件字段放入列表框?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将长文本文件字段放入列表框?相关的知识,希望对你有一定的参考价值。
我正在创建一个程序,该程序正在从文本文件中读取配方信息。我将文本文件结构化,将每种配方的指令列表组合到文本文件的一个字段中。但是,当我尝试将说明显示在列表框中时,它显示为一长行,并且您看不到完整的说明集。无论如何,当文本填充空格时,是否可以操纵文本文件的单个字段以继续到列表框的下一行?我提供了一张代码图片,用于显示文本文件行的其他元素。
code
这是示例字段在我的文本文件中所说的:在锅里炒青葱,加橄榄油。加入球芽甘蓝。炒至充满活力的绿色。如果需要,加入切碎的培根和香醋。
再次,我只需要有关如何使该巨大字段适合我的文本框的帮助。这是当前运行时我的表单的图片。谢谢!
vb形式
答案
您必须自己控制图形。
从DrawMode docs,OwnerDrawVariable
:
控件中的所有元素都是手动绘制的,并且大小可能不同。
现在,我在MeasureItem事件中设置ItemHeight,并在DrawItem事件中绘制文本。
Protected Overrides Sub OnLoad(e As EventArgs)
yourListBox.DrawMode = DrawMode.OwnerDrawVariable
MyBase.OnLoad(e)
End Sub
Private Sub yourListBox_MeasureItem(sender As Object, e As MeasureItemEventArgs) Handles yourListBox.MeasureItem
e.ItemHeight = e.Graphics.MeasureString(yourListBox.Items(e.Index).ToString(), yourListBox.Font, yourListBox.Width).Height + 10
End Sub
Private Sub yourListBox_DrawItem(sender As Object, e As DrawItemEventArgs) Handles yourListBox.DrawItem
If e.Index < 0 Then Return
e.DrawBackground()
e.Graphics.DrawString(yourListBox.Items(e.Index).ToString(), yourListBox.Font, Brushes.Black, e.Bounds)
End Sub
以上是关于如何将长文本文件字段放入列表框?的主要内容,如果未能解决你的问题,请参考以下文章