繁体   English   中英

只有一列的 ListView 在两列中显示其项目

[英]A ListView with only one column is showing its items in two columns

我有一列包含四个值(取决于用户计算机上附加屏幕的数量)。 我正在尝试使用 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;
                }
            }

winforms 中的ListView控件是对winapi listview 控件封装 此控件旨在用于 Windows 文件资源管理器并利用多个视图之间的轻松切换:两个图标(大和小)视图、列表和详细信息。

看来您目前的观点有误(不确定是哪一个,请列出?)。

Screen 1 Screen 3

Screen 2 Screen 4

只需将ListView.View设置为Details模式即可查看具有多个列标题的经典ListView (对于您实际添加的每一列)。

[Col]
Screen 1
Screen 2
Screen 3
Screen 4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM