2009-03-11 11 views
1

チェックリストボックスで作業するときにSetItemCheckedとSetItemCheckStateを見つけました。SetItemChecked(index、boolean)VS SetItemCheckState(index、Checkstate)

SetItemCheckedはlistindexとTrue/falseを使用して、リストアイテムをチェックするかチェックしないかを設定します。

SetItemCheckStateは、listindexとCheckState-enumを使用して、状態をchecked、uncheckedまたはindeterminateのいずれかに設定します。

SetItemCheckStateがすべての状態をカバーするとき、SetItemCheckedが存在するのはなぜですか?

最も一般的なチェック/チェックを外したり、何かを見逃しているため、ブール値を使用しやすくしていますか?

ブール値を使用しやすくするには、その関数のオーバーロードとしてはどうですか?

ありがとうございました。

答えて

3

実際の違いはありません。 SetItemCheckはそうのようなSetItemCheckedStateを呼び出します:あなたはすでに想定しているよう

public void SetItemChecked(int index, bool value) 
{ 
    this.SetItemCheckState(index, value ? CheckState.Checked : CheckState.Unchecked); 
} 

、私はそれが開発者のために物事を簡単にするためだけのヘルパー・メソッドだと思います。それははるかに一般的ブール値に応じて/アンチェックをチェックして、これを実行することを避けるためにしたいことですので

1

私は

に投票するには、チェックを外し/それだけでその最も一般的な使用をチェックするので、それが簡単にブール値を使用するようにすることですか私が何かを逃しましたか?

余分な機能は、通常習慣使用される(のみ不定ケースが追加される)

EDIT: CheckedListBox.SetItemCheckState(1、CheckState.Checked)が読み恐ろしい(明確な)である にCheckedListBox .SetItemChecked(1、true)は読みやすくなります

1

それは次のとおりです。

listbox.SetItemCheckState(i, value ? CheckState.Checked : CheckState.UnChecked)

すべての時間。また、CheckBoxのCheckedプロパティとCheckStateプロパティを反映しているため、オーバーロードではありません。

0

それは非常に明確だが、驚くほど誰もがそれをここに述べた:あなたは、アイテムは、アイテムの影付きのチェックボックスを提供しますどの.SetItemCheckState()によって「不定」に状態を確認し設定することができながら、

.SetItemChecked()であなただけのアイテムをチェックしたりオフにすることができます3Dチェックボックスを使用する場合