我有一个简单的GTK#窗口:它只包含一个按钮。
如果我单击此按钮,我想创建另一个按钮,该按钮应显示在同一窗口中。
我的问题是:生成的按钮永远不会显示在GUI上,尽管它被添加到我的“Window”对象中。 如果我直接在构造函数中调用它,我用来创建按钮的函数就可以了,所以它应该没问题。
我的简单应用程序中缺少哪些代码,以便显示生成的按钮?
class TestWindow : Window
{
private Fixed _fix = new Fixed();
public TestWindow() : base("Test window")
{
SetDefaultSize(250, 200);
SetPosition(WindowPosition.Center);
DeleteEvent += delegate { Application.Quit(); };
Button bt = new Button("Create button");
bt.Clicked += delegate (object o, EventArgs args)
{
addButton(80,80); //does not work
};
_fix.Put(bt, 20, 30);
Add(_fix);
ShowAll();
}
public void addButton(int x, int y)
{
Button bt = new Button("DYNAMIC");
_fix.Put(bt, x, y);
}
}
答案 0 :(得分:1)
将您的方法更改为此
public void addButton(int x, int y)
{
Button bt = new Button("rolund");
_fix.Put(bt, x, y);
bt.show();
}
答案 1 :(得分:0)
您的addButton缺少对Add()的调用。