gpt4 book ai didi

c# - 您如何使用自己的控件创建自定义 GTK# 小部件?

转载 作者:行者123 更新时间:2023-12-04 17:18:47 27 4
gpt4 key购买 nike

我正在尝试通过继承 Gtk.Bin 来创建自定义 GTK 小部件。我没有使用 Stetic GUI 构建器。这个小部件将包含几个标准的 Gtk 小部件(VBox、标签、按钮等)。

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”标签,但什么也没有显示。
我单步调试调试器中的代码,所有代码都被调用,但在运行时没有显示。

任何帮助,将不胜感激。

最佳答案

需要覆盖:

    protected override void OnSizeAllocated (Gdk.Rectangle allocation)
{
if (this.Child != null)
{
this.Child.Allocation = allocation;
}
}

protected override void OnSizeRequested (ref Requisition requisition)
{
if (this.Child != null)
{
requisition = this.Child.SizeRequest ();
}
}

关于c# - 您如何使用自己的控件创建自定义 GTK# 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5196739/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com