在從我的串列視圖中選擇一個值并點擊我的按鈕后,我想把我的值放到代碼中,但我的代碼出現了這樣的例外:
Count = 'this.listView1.SelectedItems.Count' 拋出了一個'System.InvalidOperationException'型別的例外
。
private void OK_button_Click(object sender, EventArgs e)。
{
try
{
// OK -> Daten übernehmen {
ListView.SelectedListViewItemCollection data = this.listView1.SelectedItems;
int iCount = data.Count;
if (iCount != 1)
{
MessageBox.Show("Value is empty")。
return;
}
DialogResult = DialogResult.OK;
關閉()。
}
catch (Exception ex)
{
/WriteProtokoll(ex.ToString(), 0);
關閉()。
}
}
}
private void listView1_SearchForVirtualItem(object sender, SearchForVirtualItemEventArgs e)。
{
e.Index = Array.FindIndex(myData, s => s == textBox1.Text.ToString())。
}
private void listView1_RetrieveVirtualItem(objectsender, RetrieveVirtualItemEventArgs e)。
{
e.Item = new ListViewItem(myData[e.ItemIndex])。
myData = new string[dataListSize];
for (int i = 0; i < dataListSize; i )
{
myData[i] = String.Format("{0}"/span>, i)。
}
private void textBox1_TextChanged(object sender, EventArgs e)。
{
String MyString = textBox1.Text.ToString();
ListViewItem lvi = listView1.FindItemWithText(MyString.TrimEnd() )。
//Select the item found and scroll it into view.
if (lvi != null)
{
listView1.SelectedIndices.Clear()。
listView1.SelectedIndices.Add(lvi.Index)。
listView1.EnsureVisible(lvi.Index)。
}
uj5u.com熱心網友回復:
當你使用VirutalMode時,這就是設計。檔案指出:
在虛擬模式下,專案集合被禁用。試圖訪問它將導致 InvalidOperationException。 CheckedItems 集合和 SelectedItems 集合的情況也是如此。
我們可以在源代碼中確認這一點。
。它接著提供了以下建議:
如果你想檢索選定的或選中的專案,請使用 SelectedIndices 和 CheckedIndices 集合。
因此你應該使用this.listView1.SelectedIndices.Count來代替。
再次查看源代碼,我們可以看到這不會拋出一個例外。
。轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/315693.html
標籤:
