Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 模拟winforms中的修改器键保持_C#_Winforms_Keyboard - Fatal编程技术网

C# 模拟winforms中的修改器键保持

C# 模拟winforms中的修改器键保持,c#,winforms,keyboard,C#,Winforms,Keyboard,我有一个程序有一个TreeView。如果用户按住控件键,则可以将来自taht treeview的每个节点的数据连续添加到列表视图。现在我想做的是,在模拟按下控制键的同时,通过编程选择这个节点 所以关键是,如果没有按下Control键,负责显示与该节点相关数据的listview将在node select上被清除。如果按下控制键,则来自新选定节点的数据将附加到列表视图中 有没有办法发送密钥保持消息?我的意思是这样的: var nodeCount = tvTestGroups.Nodes.Co

我有一个程序有一个
TreeView
。如果用户按住
控件
键,则可以将来自taht treeview的每个
节点
的数据连续添加到
列表视图
。现在我想做的是,在模拟按下控制键的同时,通过编程选择这个节点

所以关键是,如果没有按下Control键,负责显示与该节点相关数据的listview将在node select上被清除。如果按下控制键,则来自新选定节点的数据将附加到列表视图中

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

    var nodeCount = tvTestGroups.Nodes.Count;

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

对于(int i=0;i对于多选基本树视图,您可以对其节点使用选中的属性(将树视图的
属性设置为
true
):

如果要在listView中进行多重选择,请使用以下内容:

    var nodeCount = tvTestGroups.Nodes.Count;

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