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

时间:2011-10-26 14:51:15

标签: c# clipboard monodevelop gtk#

如何在Gtk#中创建所有可能的小部件正确处理的菜单项?我在Gtk#菜单中添加了复制/粘贴/等操作,但是如何将其传递给任何具有焦点的窗口小部件?你需要为每个可能的小部件连接一些东西吗?

例如,我希望能够从Gtk.Labels和Gtk.TextAreas复制,并粘贴到Gtk.Entries和Gtk.TextAreas。同样,当打开,例如,只读Gtk.TextArea时,“粘贴”菜单选项不应该是敏感的。

相关,我希望能够在应用程序之间进行复制/粘贴,这应该适用于Linux,Mac和Windows。

任何指针都赞赏!很想在C#中看到一个能够正确处理这个问题的简单示例。我在MonoDevelop工作,BTW。

1 个答案:

答案 0 :(得分:2)

无论如何,我在C中有一个简单的例子。查看此文件中的action_cut()action_copy()action_paste()函数:https://github.com/ptomato/gnome-inform7/blob/master/src/actions.c

如果您希望保持您的操作敏感或不敏感,具体取决于哪个窗口小部件具有焦点,您将需要连接到一些信号,该信号会告诉您焦点何时更改,然后相应地调整这些操作的敏感度。在我的头顶,那将是notify::focus-child