我有一个winforms应用程序,我有listview。通过可视化设计器,我添加了一堆项目,并在所有项目上将“checked”属性设置为true。当我启动我的应用程序时,没有选择任何看似奇怪的项目。
即使我尝试添加此代码后:
for (int i = 0; i < listView1.Items.Count; i++)
{
listView1.Items[i].Selected = true;
}
当我启动我的应用程序(它的vsto应用程序)时,没有选择任何项目。我选择LargeIconView(不确定是否有所作为)
如何默认列表视图在启动时默认选中所有项目?
答案 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的内容?