【问题标题】:WinForms TreeView Copy of Text with Ctrl + C Doesn't Work使用 Ctrl + C 的 WinForms TreeView 文本副本不起作用
【发布时间】:2018-07-17 11:47:16
【问题描述】:

我目前遇到了一个问题:我有一个 TreeView,当您想要重命名文件时,我可以像在普通 Windows 中一样通过双击它来修改节点上的文本(但中间留一些时间)。

现在,当我在此名称修改部分中突出显示文本和所有内容 (like this) 时,我无法使用 Ctrl+C 复制文本。我只能在右键单击上下文菜单时使用上下文菜单的复制功能,这比 Ctrl+C 花费的时间要多得多。

这种情况下的快捷方式是否被禁用,如果是,我可以启用它们吗?

另外,在复制/粘贴整个节点时,我已经实现了 Ctrl+C/Ctrl+V 的功能,所以这不是我的问题。这个问题只是与复制文本有关。

我想做here 所示的解决方案,但我不太明白,因为我不知道例如“将新控件从工具箱顶部拖放到表单上”是什么。意味着(我也无法打开设计器)

【问题讨论】:

  • 我对 TreeView 没有太多经验,但也许你应该查看 TreeView 的属性,如果在那里找不到任何有用的东西,你也可以添加一个 keydown 事件并检查是否 ctrl + c 是按下结束并将所选内容粘贴到用户剪贴板中。
  • 到目前为止你尝试了什么?
  • @sLw 问题是我不知道我应该在哪里添加这个 keydown 事件……因为复制文本应该只在我处于仅突出显示文本的情况下才有效。因为稍后我可能想要添加功能来真正复制列表项而不仅仅是它的名称:/
  • @MaciejLos 老实说,没什么,因为我不知道从哪里开始删除这个“错误”。我不认为为 KeyPressed 或 KeyDown 编写事件会起作用(阅读我的最后一条评论)

标签: c# winforms treeview copy-paste


【解决方案1】:

我注意到,在编辑模式下按 Ctrl+C 时,它对整个节点使用正常的 Ctrl+C 处理程序,但在检查是否选择了正确的事物 (=node) 的 if 条件下“失败”。

我只是添加了一个 else ,然后将选定的值复制到剪贴板,它工作得非常好! 我可能只需要在编辑模式下使用 Ctrl+V 做同样的事情。

天哪,我已经为这个解决方案搜索了很长时间,感谢 Jochen Arndt 为我提供了帮助 in this comment section

【讨论】:

    猜你喜欢
    • 2012-01-15
    • 2012-01-05
    • 1970-01-01
    • 2018-01-07
    • 1970-01-01
    • 2018-01-07
    • 2015-11-18
    • 2022-07-21
    • 2010-11-10
    相关资源
    最近更新 更多