2

助けが必要で、壁に頭をぶつけています。トライステートを使用するアプリケーションがありますCheckedListBox。特定の目的のために 3 つの状態を使用します。

チェックは、技術者がアクションを実行したことを意味します。チェックなしは、技術者がアクションを実行しなかったことを意味します。不確定は、技術者がアクションを実行しなかったことを意味します。

必要に応じて、Checked から Unchecked、Indeterminate、Checked にマウスで切り替えられるようにする必要があります。を使用していてCheckBoxThreeStateに設定したTrue場合、これはまさに起こることですが、 で不確定状態を設定する唯一の方法CheckedListBoxはコードを使用することです。

誰かが私に何をすべきかを教えてもらえますか? でできるように設定できるプロパティではないことに頭が下がりますCheckBox

私を投げかけているのは、これまで誰もこの機能を必要としていないようだということだと思います. これを行う方法や質問をする方法について、Googleで何も見つかりませんでした。

4

2 に答える 2

5

コントロールにこの動作を制御するプロパティがあるとは思いませんが、コードで簡単に実装できます。

    void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
    {
        switch (e.CurrentValue)
        {
            case CheckState.Checked:
                e.NewValue = CheckState.Unchecked;
                break;

            case CheckState.Indeterminate:
                e.NewValue = CheckState.Checked;
                break;

            case CheckState.Unchecked:
                e.NewValue = CheckState.Indeterminate;
                break;
        }
    }
于 2011-12-13T00:02:57.620 に答える
0

次のように、提供された提案をC#からVBに翻訳しました

Private Sub CheckedListBoxCriteria_ItemCheck(sender As Object, e As ItemCheckEventArgs) Handles CheckedListBoxCriteria.ItemCheck

Select Case e.CurrentValue
   Case CheckState.Checked
      e.NewValue = CheckState.Unchecked
      Exit Select

   Case CheckState.Indeterminate
      e.NewValue = CheckState.Checked
      Exit Select

   Case CheckState.Unchecked
      e.NewValue = CheckState.Indeterminate
      Exit Select
   End Select
End Sub

魅力のように働きました。私はそれに似たようなことをしようと誓ったでしょうが、うまくいきませんでした。しかし、これはうまくいきました。どうもありがとうございました。とても簡単。いつか私はこれを理解するでしょう。独学とは、アイデアを思いつき、手がかりが見つかるまで掘り下げることです。

于 2011-12-13T14:54:18.810 に答える