gpt4 book ai didi

winforms - 如何以通用方式启用/禁用剪切/复制/粘贴菜单和工具栏项?

转载 作者:行者123 更新时间:2023-12-03 05:19:05 25 4
gpt4 key购买 nike

我有一个 Windows 窗体应用程序,其中包含文本框、组合框、datagridview 等控件。这些控件允许用户使用剪贴板,即剪切/复制和粘贴文本。还可以删除文本(与剪贴板无关)。

我的应用程序有一个菜单栏,其中包含一个包含剪切/复制/粘贴/删除项目的编辑项目,以及一个包含这些项目的工具栏。如何根据具有焦点的控件的状态正确启用/禁用这些项目?

我正在寻找一种通用的方法,即我寻找一个我做过一次的实现,并且可以在将来独立于我的应用程序将使用的控件而重用。

最佳答案

没有用于从 Windows 窗体控件获取剪切/复制/粘贴信息的通用接口(interface)或方法集。

我建议您最好的方法是为每种类型的控件创建一个包装类。然后,当您想要更新菜单状态时,您将获得具有焦点的当前控件并为其创建适当的包装器。然后你向包装器询问你需要的状态信息。这样,您只需为您使用的每种类型的控件创建一个包装器实现。一开始有点痛苦,但其他时候你只需要添加你遇到的新控件。

剪贴板信息要容易得多,因为您可以询问剪贴板单例里面是否有数据以及数据是什么类型。不过,您仍然需要询问目标控件是否可以接受该类型的信息,因此仍然需要做额外的工作。

关于winforms - 如何以通用方式启用/禁用剪切/复制/粘贴菜单和工具栏项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/92262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com