模拟winforms中的修饰键

时间:2012-08-13 09:45:35

标签: c# winforms keyboard

我有一个TreeView的程序。如果用户持有Control密钥,我就会以这种方式创建密钥。来自每个Node的taht树视图的数据将被连续添加到ListView。现在我想做的是在模拟按下Control键的同时以编程方式选择这些节点。

所以重点是,如果没有按下Control键,那么负责显示与该节点相关的数据的listview将在节点选择时被清除。如果正在按下控制键,则新选择的节点中的数据将附加到列表视图中。

有没有办法发送密钥保留消息?我的意思是这样的:

    var nodeCount = tvTestGroups.Nodes.Count;

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

1 个答案:

答案 0 :(得分:0)

对于多选基本treeView,您可以将Checked属性用于其节点(将treeView的CheckBoxes属性设置为true):

tvTestGroups.Nodes[i].Checked = true;

如果你想在listView中进行多选,请使用以下内容:

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

如果您使用带有多选的自定义树视图,那么您可以声明其他变量(或创建重写方法),并在向listView添加数据时检查它的值