我是单声道C#Gtk的新手。我用这个代码创建了一个带有两个按钮的窗口:
using Gtk;
using Gdk;
class FirstScreen : Gtk.Window
{
public FirstScreen() : base("Buttons")
{
SetDefaultSize(250, 200);
SetPosition(WindowPosition.Center);
DeleteEvent += delegate { Application.Quit(); };
Fixed fix = new Fixed();
Button btn1 = new Button("Take Photo");
Button btn2 = new Button("Take Video");
Gdk.Color col = new Gdk.Color();
Gdk.Color.Parse("red", ref col);
fix.(StateType.Normal, col);
fix.Put(btn1,30, 80);
fix.Put(btn2, 130, 80);
Add(fix);
ShowAll();
}
public static void Main()
{
Application.Init();
new FirstScreen();
Application.Run();
}
}
我希望窗口的背景颜色或固定的颜色可以更改。我们怎么做呢?请帮助?
答案 0 :(得分:1)
默认情况下,Gtk.Fixed
没有自己的Gdk.Window
,但在其父窗口上绘制并且不会绘制任何背景。要让它绘制背景,只需告诉它创建自己的Gdk.Window
:
fix.HasWindow = true;
这就是全部。
答案 1 :(得分:0)
您可以尝试使用事件框。并在框中建立您的对象。例如:
eventbox.ModifyBg (StateType.Normal, new Gdk.Color (0, 0, 0)); //Zeros represent of (r,g,b)