C# 如何将复制/粘贴/选择/剪切菜单项连接到Gtk小部件?
如何在Gtk中创建所有可能的小部件都能正确处理的菜单项?我已经在Gtk菜单中添加了复制/粘贴/etc操作,但是如何将其传递给具有焦点的小部件呢?您是否需要为每个可能的小部件连接一些东西 例如,我希望能够从Gtk.Labels和Gtk.TextAreas复制,并粘贴到Gtk.Entries和Gtk.TextAreas。同样,当启用只读Gtk.TextArea时,粘贴菜单选项不应敏感 与此相关,我希望能够在应用程序之间进行复制/粘贴,这应该可以在Linux、Mac和Windows上使用C# 如何将复制/粘贴/选择/剪切菜单项连接到Gtk小部件?,c#,clipboard,monodevelop,gtk#,C#,Clipboard,Monodevelop,Gtk#,如何在Gtk中创建所有可能的小部件都能正确处理的菜单项?我已经在Gtk菜单中添加了复制/粘贴/etc操作,但是如何将其传递给具有焦点的小部件呢?您是否需要为每个可能的小部件连接一些东西 例如,我希望能够从Gtk.Labels和Gtk.TextAreas复制,并粘贴到Gtk.Entries和Gtk.TextAreas。同样,当启用只读Gtk.TextArea时,粘贴菜单选项不应敏感 与此相关,我希望能够在应用程序之间进行复制/粘贴,这应该可以在Linux、Mac和Windows上使用 感谢任何指点
感谢任何指点!希望能看到一个简单的C语言示例,能够正确地处理这个问题。顺便说一句,我在MonoDevelop工作。无论如何,我有一个简单的C语言示例。请参见此文件中的“动作剪切”、“动作复制”和“动作粘贴”功能:
如果你想让你的动作敏感或不敏感取决于哪个小部件有焦点,你需要连接到一些信号,当焦点改变时,它会告诉你,然后相应地调整这些动作的敏感度。在我的脑海里,那将是notify::focus child。谢谢!看起来您的方法是正确的,即使您必须明确知道窗口中对象的类型,检查类型,并知道对每个类型的每个操作要做什么。如果GTK为Widget制作了一个标准界面来处理所有的标准gui操作(剪切、复制、全选等),那就更好了。