我有一列四个值(取决于用户计算机上连接的屏幕数)。我正在尝试使用ListView,因为我找到了一个示例,可以将不可用的屏幕显示为灰色。
但是,四个项目的列表显示在这样的两列中:
屏幕1屏幕3
屏幕2屏幕4
我尝试更改列和控件的宽度,但没有成功。
为什么?
我当时想第一列可能是标题列,因此尝试添加两列并将第一列的宽度设置为零。但还是一样。
lvScreens.Columns.Add("Col", 0, HorizontalAlignment.Center);
lvScreens.Columns[0].Width = lvScreens.Width - 4;
lvScreens.FullRowSelect = true;
for (int i = 0; i < 4; i++) // I'm limiting the LV to 4 rows
{
ListViewItem lvi = new ListViewItem("Screen " + (i + 1).ToString());
lvScreens.Items.Add(lvi);
if (i < Screen.AllScreens.Count())
{
lvScreens.Items[i].ForeColor = SystemColors.ControlText;
lvScreens.Items[i].Selected = true;
}
else
{
lvScreens.Items[i].ForeColor = SystemColors.GrayText;
lvScreens.Items[i].Selected = false;
}
}
答案 0 :(得分:0)
ListView
控件是wrapper之上的winapi listview control。该控件旨在用于Windows文件浏览器,并可以在多个视图之间轻松切换:两个图标(大和小)视图,列表和详细信息。
似乎您当前在错误的视图中(不确定是哪一个,列出?)。
Screen 1 Screen 3
Screen 2 Screen 4
只需将ListView.View设置为Details
模式,即可看到具有多个列标题的经典 ListView
。
[Col]
Screen 1
Screen 2
Screen 3
Screen 4