我希望显示以下内容: -
每一行都是关于一个过程(PID,父等等信息)。用户可以检查checkbox
并单击“启动”按钮以获取有关该过程的一些动态详细信息。
问题是CheckedListBox
控件不允许多个列,而ListView
等其他控件(允许多列)不允许嵌入checkbox
之类的控件在一列中。
我想知道是否有一个控件可以让我拥有一个自定义控件列表,其中每个自定义控件都包含checkbox
,Some Text
和Some Dynamic Text
。
如何在Windows窗体中实现?提前谢谢。
答案 0 :(得分:5)
您可以使用以下任一选项:
DataGridView
来显示不同类型的多个列,包括TextBox
,Label
,CheckBox
,ComboBox
,Image
,{{1 },Button
。您还可以通过自定义绘制或添加新的自定义列类型来自定义网格的外观。UserControl
,其中包含您需要的任何其他控件并将其用作行模板,然后您可以通过在Link
或{Panel
中托管该用户控件的多个实例来显示所有行{1}}。 <强> TableLayoutPanel中强>
您可以使用包含多个列和行的TableLayoutPanel
。 FlowLayoutPanel
的每个单元格都可以托管一个控件。
<强>的DataRepeater 强>
您可以使用DataRepeater
控件创建行模板,并使用该模板显示行列表。
如果您想使用数据绑定并显示特定控件,包括TableLayoutPanel
,TextBox
,Label
,CheckBox
,ComboBox
,Image
,Button
一行,Link
很棒。它是可自定义的,您可以添加一些其他不同的列类型或自定义网格绘制,或从广泛的有用事件中受益,以进行验证等。
在下面的图片中,您可以看到DataGridView
DataGridView
和RowHeaderVisible
设置为ColumnHeaderVisible
,就像没有标题的字段列表一样:
如果您需要自定义控件来托管更复杂的控件或对组件进行更多控制或以不同列的形式显示它们,您可以创建托管组件的false
,然后:
UserControl
并添加您的用户控件,并将Panel
控件的属性设置为Dock
。Top
向其添加控件实例。创建FlowLayoutPanel
将其实例添加到UserControl
或Panel
答案 1 :(得分:1)
您可以使用TableLayoutPanel
容器。
答案 2 :(得分:0)