如何将长文本文件字段放入列表框?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将长文本文件字段放入列表框?相关的知识,希望对你有一定的参考价值。

我正在创建一个程序,该程序正在从文本文件中读取配方信息。我将文本文件结构化,将每种配方的指令列表组合到文本文件的一个字段中。但是,当我尝试将说明显示在列表框中时,它显示为一长行,并且您看不到完整的说明集。无论如何,当文本填充空格时,是否可以操纵文本文件的单个字段以继续到列表框的下一行?我提供了一张代码图片,用于显示文本文件行的其他元素。

code

enter image description here

这是示例字段在我的文本文件中所说的:在锅里炒青葱,加橄榄油。加入球芽甘蓝。炒至充满活力的绿色。如果需要,加入切碎的培根和香醋。

再次,我只需要有关如何使该巨大字段适合我的文本框的帮助。这是当前运行时我的表单的图片。谢谢!

vb形式

enter image description here

答案

您必须自己控制图形。

DrawMode docsOwnerDrawVariable

控件中的所有元素都是手动绘制的,并且大小可能不同。

现在,我在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

以上是关于如何将长文本文件字段放入列表框?的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 07-10,希望能够将字段放入列表/组合框中

WPF 从列表框中拖动项目并放入文本框中

如何创建边界框并将文本放入其中?

PHP实现简单的文本提交表单(可放入图片)

组合框和列表框不显示文本文件的内容

软输入键盘隐藏编辑文本