Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将复制/粘贴/选择/剪切菜单项连接到Gtk小部件?_C#_Clipboard_Monodevelop_Gtk# - Fatal编程技术网

C# 如何将复制/粘贴/选择/剪切菜单项连接到Gtk小部件?

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上使用 感谢任何指点

如何在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操作(剪切、复制、全选等),那就更好了。