为什么我的winform listview项目默认不显示?

时间:2013-06-08 13:57:12

标签: c# winforms listview vsto

我有一个winforms应用程序,我有listview。通过可视化设计器,我添加了一堆项目,并在所有项目上将“checked”属性设置为true。当我启动我的应用程序时,没有选择任何看似奇怪的项目。

即使我尝试添加此代码后:

         for (int i = 0; i < listView1.Items.Count; i++)
        {
            listView1.Items[i].Selected = true;
        }

当我启动我的应用程序(它的vsto应用程序)时,没有选择任何项目。我选择LargeIconView(不确定是否有所作为)

如何默认列表视图在启动时默认选中所有项目?

3 个答案:

答案 0 :(得分:2)

您的代码无效的原因是因为ListView控件没有焦点。你可以做的两件事是

1)将控件的TabIndex属性设置为窗体上的最低属性(可能为0)

2)以编程方式选择ListView

private void Form1_Load(object sender, EventArgs e)
{
   listView1.Select();
   for (int i = 0; i < listView1.Items.Count; i++)
   {
       listView1.Items[i].Selected = true;
   }
}

答案 1 :(得分:0)

只有CheckBox的ListView属性设置为True时,checked属性才有意义。 Checked与Selected不同。

您选择所有项目的代码适合我。但也许,正如keyboardP所暗示的那样,你的问题与Focus有关。 已修改:是的,它只能运行,因为我正在测试它,这是我表单上的唯一控件。

答案 2 :(得分:0)

“我如何默认列表视图在启动时默认选中所有项目?”

变化:

        listView1.Items[i].Selected = true;

要:

        listView1.Items[i].Checked = true;

如果您已将所有设置都设置为通过IDE进行检查,则不确定该设置为何不“粘滞”。您是否在加载表单时修改ListView的内容?