はい、Glade ライブラリを使用しなくても、C# で GTK Builder を使用できます。(ちなみに、私はこれを Boo でも成功させました。Cobra では成功しておらず、[Iron]Python や [Iron]Ruby も試していません。)
Glade ライブラリの代わりに GTK ビルダーを使用したいという非常に強い理由の 1 つは、私の知る限り、3.8 以降の Glade バージョンが GTK+3 とのみ互換性のある XML コードを生成することです ( http://blogs.gnome.org/tvb/2011/ 01/15/the-glade-dl/ )。さらに、GTK Builder を使用すると、適切な定義を生成するほぼすべての GUI ビルダーによって生成された XML ファイルを使用できるようになると思います。
さて、MonoBasic の例を C# に適用したソリューションを次に示します: http://www.mono-project.com/GtkSharp:_Hello_World。この例の GUI 定義を使用して Glade 3.14.2 で GUI を作成し、そのファイルを単純に「togglebuttons.xml」として保存しました。
トグルボタン.cs:
using Gtk;
using System;
class ToggleButtons
{
public ToggleButtons()
{
Gtk.Application.Init();
Builder Gui = new Builder();
Gui.AddFromFile("togglebuttons.xml");
Gui.Autoconnect(this);
Gtk.Application.Run();
}
static void onDeleteEvent(object o, DeleteEventArgs args)
{
Application.Quit();
}
static void onExitButtonEvent(object o, EventArgs args)
{
Application.Quit();
}
public static void Main()
{
new ToggleButtons();
}
}
Glade によって生成された XML ファイル、togglebuttons.xml は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkWindow" id="window">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="title" translatable="yes">Toggle Buttons</property>
<signal name="delete-event" handler="onDeleteEvent" swapped="no"/>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkToggleButton" id="togglebutton1">
<property name="label" translatable="yes">Button 1</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">center</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkToggleButton" id="togglebutton2">
<property name="label" translatable="yes">Button 2</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">center</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkSeparator" id="separator1">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="button1">
<property name="label" translatable="yes">Close</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="halign">center</property>
<signal name="clicked" handler="onExitButtonEvent" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">False</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
</object>
</interface>
HTH :-)