在c中更改大小的视觉对象显示在线性列表中

本文关键字:对象 显示 线性 列表 视觉 | 更新日期: 2023-09-27 18:20:27

请原谅我可能说的任何愚蠢的话。我的背景是Actionscript3。

我正在使用"Visual C#2010学习版"。我有一个简单的Form,in a WindowsForm Project,它目前只包含一个Listbox。(我想我得换个别的)。

我给自己做了一个不同的显示对象(用户控件),它目前是一个复选框标题。(一旦我越过下面的障碍,将添加更多内容)

但我甚至无法将UserControl显示为列表。我似乎在列表框上找不到任何地方可以说"将此显示对象用作列表框的视觉对象"。我看到教程中说"ItemsPanelTemplate",但我得到了一个错误,说Listbox没有这样的属性。我甚至试着在设计视图中创建Form,但当我在屏幕上拖动为Listbox时,它不在GUI旁边的列表中。

现在我知道在纯Actionscript中该如何做到这一点,但我不知道在纯C#中该如何做。教程没有帮助,因为微软网站似乎只给我XAML(XML)。我正在寻找C#代码。所以我认输了,请求外界的帮助。

谢谢你能提供的任何帮助。

在c中更改大小的视觉对象显示在线性列表中

听起来你想要一个项目列表,每个项目都有一个复选框和一些描述性文本。尝试使用CheckedListBox控件。MSDN链接。

此问题还回答了如何为ListBox中的每个项目进行自定义图像绘制的问题。这可能会有所帮助。

澄清后编辑:

尝试将UserControl嵌入到ListView中,而不是ListBox中。ListViews:中嵌入控件的参考

C#列表视图-嵌入控件

在WinForms 中将按钮添加到列表视图中

您也可以使用面板列表,每个面板都承载一个UserControl。

C#面板清单

但从问题评论中可以看出,真正的答案是,Winforms没有方便的方法来做到这一点。这是一项更适合WPF的任务。

您可以从ComponentOwl中查看免费软件组件Better ListView Express。它支持不带列、两个和三个状态复选框、图像等的简单详细信息视图。。。

他们还提供了完整版本,具有更漂亮的功能,如分层和多行项目。