0

我是单声道 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();
}

}

我想要改变窗口的背景颜色或固定的颜色。我们怎么能做到这一点请帮忙?

4

2 回答 2

1

默认情况下Gtk.Fixed没有自己的Gdk.Window,但在其父窗口上绘制并且不绘制任何背景。要让它绘制背景,只需告诉它创建自己的Gdk.Window

fix.HasWindow = true;

就这样。

于 2013-09-05T11:46:14.373 回答
0

你会尝试使用事件框。并在框中建立您的对象。例如:

eventbox.ModifyBg (StateType.Normal, new Gdk.Color (0, 0, 0));  //Zeros represent of (r,g,b) 
于 2018-10-11T05:47:28.857 回答