我想通過繼承Gtk.Bin來創建一個自定義的GTK Widget。我沒有使用Stetic GUI生成器。這個小部件將包含幾個標準的Gtk小部件(VBoxs,標籤,按鈕等)。如何用自己的控件創建自定義的GTK#Widget?
public class MyWidget : Gtk.Bin
{
public MyWidget : base()
{
build();
}
private void build()
{
VBox vbox1 = new Vbox (true, 0);
vbox1.PackStart (new Label ("MyWidget"), true, true, 0);
this.Add (vbox1);
}
}
同時,當我將自定義小部件添加到主窗口時,我什麼都看不到。窗口其他控件顯示,空間分配給這個自定義小部件。我期望在其空間中看到標籤「MyWidget」,但沒有任何顯示。 我一步一步地通過調試器中的代碼,它都被調用,但它在運行時不顯示。
任何幫助,將不勝感激。
對不起,沒注意到你繼承斌,並不箱。大多數時候我做這些類的子類,我從VBox或HBox開始,而不是將一個添加到Bin子類。那麼你不需要通過箱子包裝代碼來完成尺寸協商的工作。 – mkestner 2011-03-22 22:33:20