一點都不直覺的一個Windows Form Control
CheckedListBox 這個 windows form control其實跟 ListBox 很像,唯一的差別在於 CheckedListBox 在每一個 item 之前都有一個 checkbox 可以勾選,照常理/直覺來看,這兩個 windows form control 的使用方式應該差不多,可是在做 select 與 check 處理上卻有很大的差別。(喵的咧...)
設定 checked / uncheched
checkedListBox1.SetItemCheckState(i, CheckState.Unchecked);
checkedListBox1.SetItemCheckState(i, CheckState.Checked);
checkedListBox1.SetItemChecked(i, boolean);
設定選取(selected)
checkedListBox1.SetItemSelected(i, boolean);
取得 text of checked items
checkedListBox1.GetItemText(checkedListBox1.CheckedItems[i]);
是否 checked?
checkedListBox1.GetItemChecked(i); //return true or false
checkedListBox1.GetItemCheckState(i); //return value is in {CheckState.Checked, CheckState.Unchecked, CheckState.Indeterminate}
是否選取(selected)
checkedListBox1.GetSelected(i); //return true or false
感謝分享
另外我還發現有關取得text of checked item 的用法
將取得CheckedListBox 的 CheckedItemCollection,在loop中一一asign到 CheckBox 就可以直接取用Text屬性
foreach( CheckBox item in CheckedListBox.CheckedItemCollection checkedListBox.CheckedItems )
{
MessageBox.Show( item.text );
}
修正,CheckedItemCollection 不能以CheckBox 接,但可以直接用String[] 大概是底層自動轉型
foreach( String item in CheckedListBox.CheckedItemCollection checkedListBox.CheckedItems )
{
MessageBox.Show( item );
}