c#listbox换行
时间: 2023-11-12 14:45:52 浏览: 78
要实现C# ListBox换行,可以通过在ListBox的绘制模式中进行设置。以下是一个实现的示例:
1. 首先,在按钮的点击事件中调用FillDataTable()方法,并清除ListBox中的项。使用循环遍历DataTable的行,并将每行的索引添加到ListBox中。最后启用ListBox。
```c#
private void button1_Click(object sender, EventArgs e)
{
this.FillDataTable();
this.listBox1.Enabled = false;
this.listBox1.Items.Clear();
for (int i = 0; i <= ListData.Rows.Count - 1; i++)
{
this.listBox1.Items.Add(i);
}
this.listBox1.Enabled = true;
}
```
2. 接下来,在ListBox的点击事件中,可以使用MessageBox显示当前选中的项,并调用getListText方法获取选中项的文本。
```c#
private void listBox1_Click(object sender, EventArgs e)
{
MessageBox.Show("当前选中-[" + listBox1.SelectedItem.ToString().Trim() + "]-项");
MessageBox.Show(getListText(listBox1.SelectedItem.ToString().Trim()));
}
```
3. 最后,在窗体的SizeChanged事件中,将ListBox的绘制模式设置为OwnerDrawFixed和OwnerDrawVariable,以实现自动换行。
```c#
private void ListAutoLine_SizeChanged(object sender, EventArgs e)
{
listBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
listBox1.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawVariable;
}
```
通过以上方法,你可以实现C# ListBox的换行效果。请注意,在绘制模式设置之后,还可以根据需要对ListBox的其他属性进行调整以适应换行效果的显示。