【问题标题】:Simulating a modifier key holding in winforms模拟 Winforms 中的修饰键
【发布时间】:2012-08-13 09:45:35
【问题描述】:

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

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

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

    var nodeCount = tvTestGroups.Nodes.Count;

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

【问题讨论】:

    标签: c# winforms keyboard


    【解决方案1】:

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

    tvTestGroups.Nodes[i].Checked = true;
    

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

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

    如果你使用带有多选的自定义treeView,那么你可以声明附加变量(或创建覆盖方法),并在向listView添加数据时检查它的值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 2011-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多