0

を持つプログラムがありTreeViewます。ユーザーがControlキーを保持している場合、各Nodeツリービューからのデータが継続的に に追加されるようにしましたListView。ここでやりたいことは、Ctrl キーが押されていることをシミュレートしながら、このノードをプログラムで選択することです。

つまり、Control キーが押されていない場合、そのノードに関連するデータを表示する責任があるリストビューは、ノードの選択時に消去されます。コントロール キーが押されている場合、新しく選択されたノードのデータがリスト ビューに追加されます。

キーホールドメッセージを送信する方法はありますか? 私は次のようなことを意味します:

    var nodeCount = tvTestGroups.Nodes.Count;

    for(int i = 0; i <nodeCount; i++)
    {
        SendKeys.Send("Control");
        tvTestGroups.SelectedNode = tvTestGroups.Nodes[i];
    }
4

1 に答える 1

0

基本的なtreeViewを複数選択するには、そのノードにCheckedプロパティを使用できます(CheckBoxestreeViewのプロパティをに設定しますtrue)。

tvTestGroups.Nodes[i].Checked = true;

また、listViewで複数選択する場合は、次のようなものを使用します。

for(int i = 0; i <nodeCount; i++)    
    listView.SelectedIndices.Add(i);

複数選択でカスタムtreeViewを使用する場合は、追加の変数を宣言して(またはオーバーライドされたメソッドを作成して)、listViewにデータを追加するときにその値を確認できます。

于 2012-08-13T11:18:22.223 に答える