簡體   English   中英

C#以編程方式更改ListView中的選定項目

[英]C# programmatically change selected item in listview

更新!

為了澄清這個問題。 我想使用向上和向下箭頭更改列表視圖中的選定項目。 我已將keydown綁定到文本框。 如果用戶按下句點鍵,我將使我的列表視圖可見。 但這不是重點,這就是為什么我將keydown事件綁定到文本框以便能夠更改listview中的selecteditem的原因。

visuaöstudio抱怨的代碼是這個

index = listView1.SelectedIndices[0];

零是怎么回事?

我正在使用列表視圖

如何以編程方式更改listview selecteditem 我目前正在聽向上箭頭和向下箭頭的按鍵事件。

按下它們后,我想更改所選項目的索引。 這樣它的行為就與按下向上或向下箭頭使其聚焦時一樣!

我一直在嘗試,但這給了我一個難看的錯誤信息。

超出范圍的異常參數帶有如下附加信息:

值0對索引無效。 這是我的向下箭頭代碼。

它真的應該工作,我對此一無所知!

if (e.KeyCode == Keys.Down)
{
    if (listView1.Visible)
    {
        index = listView1.SelectedIndices[0];  
        index = index - 1;
        this.listView1.Items[index].Selected = true;
    }
}

和向上箭頭

if (e.KeyCode == Keys.Up)
{
    if (this.listView1.Visible)
    {
        index = listView1.SelectedIndices[0];
        index++;
        this.listView1.Items[index].Selected = true;
    }
}

嘗試以下方法:

if (e.KeyCode == Keys.Down)
{
    if (listView1.Visible && listView1.Items.Count > 0)
    {
        index = listView1.SelectedIndices[0];  
        index = index - 1;
        this.listView1.Items[index].Selected = true;
    }
}

我認為您正在獲取IndexOutOfBound因為列表中沒有任何項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM