如何将背景颜色设置为固定在c#GTK单声道

本文关键字:单声道 c#GTK 声道 背景 颜色 设置 | 更新日期: 2023-09-27 18:29:17

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

}

我想更改窗口或固定窗口的背景色。我们该怎么做?请帮忙?

如何将背景颜色设置为固定在c#GTK单声道

默认情况下,Gtk.Fixed没有自己的Gdk.Window,而是在其父窗口上绘制,不绘制任何背景。要让它绘制背景,只需告诉它创建自己的Gdk.Window:
fix.HasWindow = true;

仅此而已。

您可以尝试使用eventbox。并在方框中建立对象。例如:

eventbox.ModifyBg (StateType.Normal, new Gdk.Color (0, 0, 0));  //Zeros represent of (r,g,b)