1

コンポーネントへのパスを処理するオブジェクトをチェックリストボックスに入力しています。選択したインデックスに関連付けられたオブジェクトから特定のプロパティを取得するにはどうすればよいですか? 現在、SelectedIndexChanged イベントを使用しています。SelectedItem、SelectedValue、SelectedIndex を試しました。プロパティの型は取得できますが、checkedListBox1.SelectedValue.GetType().GetProperty("fullPath") では値を取得できません。ありがとう。

            Class1 c1;
            List<object> files = new List<object>();

            foreach(var value in filteredFiles1)
            {
                c1 = new Class1(value);
                checkedListBox1.DisplayMember = "fileName";
                files.Add(c1);                    
            }

            checkedListBox1.DataSource = files;  
4

1 に答える 1

1

クラスのインスタンスにをキャストしCheckedListBox SelectedItemて、スコープ内の任意のプロパティにアクセスできる必要があります。次に例を示します。

    private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        Class1 c = (Class1)checkedListBox1.SelectedItem;
        MessageBox.Show(c.fileName);
        MessageBox.Show(c.fullPath);
    }

オブジェクトがnullでないことを確認するために、追加のチェックを行うことをお勧めします(つまり、SelectedIndex-1になった場合)。

于 2013-02-04T15:57:58.473 に答える