【问题标题】:Custom User Control in C#...Right Click Menu to Copy Text (Java Developer learning C#)C#中的自定义用户控件...右键菜单复制文本(Java开发者学习C#)
【发布时间】:2009-06-25 16:29:02
【问题描述】:

我正在开发一个自定义用户控件,它本质上显示一个名称值对(名称在黑色背景上,值在白色背景上)。我的控件显示正确,甚至显示在 Designer 和我的构建页面上。

我希望从这里做的是能够右键单击用户控件,并有一个菜单上有一个“复制值”选项的菜单,所选时将复制“值”中的值用户控件的一部分到剪贴板。最好的方法是什么?

我不知道从哪里开始,因为我发现大多数关于用户控件的文档都涉及显示控件,不一定与它交互。另外,由于我还在学习 C#,所以我可能在这个问题中遗漏了我的问题的一个重要部分,所以如果是这种情况,请指出。

我正在使用 Visual Studio 2008(如果重要的话)。

【问题讨论】:

  • Winforms(此评论需要 15 个字符)

标签: c# winforms visual-studio-2008 user-controls


【解决方案1】:

检查ContextMenu 控件其他控件的ContextMenu 属性。通过将 ContextMenu 控件分配给另一个控件的 ContextMeny 属性,您将为您完成右键单击->弹出菜单连接。那么只需要在上下文菜单中实现不同菜单项的点击事件即可。

然后您可以使用Clipboard.SetText(由 BFree 建议)将所需的值设置到剪贴板。

【讨论】:

【解决方案2】:

向控件添加一个 ContextMenu。挂钩到 MouseClick(或 MouseDown,以哪个更好)事件,如果它是右键单击,则在 ContextMenu 上调用 show(有一些重载,尝试弄乱它们,看看哪个最适合你)。然后,在上下文菜单的单击事件中,只需调用 Clipboard.SetText(...) 将值设置到剪贴板。

【讨论】:

    猜你喜欢
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多