[英]How to save ListView selected item
我正在嘗試保存ListView
選定的項目,但我不知道為什么會收到此錯誤:
“無法將類型'int'隱式轉換為'System.Windows.Forms.ListView.SelectedListViewItemCollection'”
我在“保存”按鈕上嘗試了以下代碼:
Settings.Default["SelectedDevice"] = sourceList.SelectedItems; //Works fine
在Form_Load上,我嘗試了以下操作:
sourceList.SelectedItems = (int)Settings.Default["SelectedDevice"]; //error
我做了一個小應用程序,在其中我從設置中讀取了selecteditem。 在OnLoad-Event中選擇項目的代碼是:
private void OnLoad(object sender, EventArgs eventArgs)
{
int selectedItem = Properties.Settings.Default.SelectedItem;
if (selectedItem != -1)
{
this.listView1.Items[selectedItem].Selected = true;
}
}
我的設置的默認值為-1
首先, SelectedItems
是一個只讀屬性,無法設置。 其次,它是一個SelectedListViewItemCollection
而不是一個int
。
如果您試圖將選定的項目索引存儲在列表中,則需要執行以下操作:
// store CSV list of indices
Settings.Default["SelectedItems"] = String.Join(",", listView.SelectedIndices.Select(x => x));
...
// load selected indices
var selectedIndices = ((string)Settings.Default["SelectedItems]).Split(',');
foreach (var index in selectedIndices)
{
listView.Items[Int32.Parse(index)].Selected = true;
}
sourceList.SelectedItems = (int)Settings.Default["SelectedDevice"]; //error
有你的錯誤。
請參考以下內容。 如何以編程方式在ListView中選擇一個項目?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.