0
我想添加一個圖形到主窗口。
但是當我試圖訪問該窗口小部件,它說:從另一個類的訪問窗口
莫非錯誤CS0120:一個對象引用才能訪問非靜態成員 「MainWindow.win」
人解釋這意味着什麼以及如何解決這個問題?
這是代碼:
using Gtk;
using System;
using Cairo;
public class MainWindow {
public Window win = new Window("Traffic Light Simulator 0.1");
Fixed winFix = new Fixed();
DrawingArea rightSeparator = new DrawingArea();
MainWindow() {
win.SetSizeRequest(800, 600);
win.Resizable = false;
win.DeleteEvent += delegate { Application.Quit(); };
win.SetPosition(WindowPosition.Center);
win.ModifyBg(StateType.Normal, new Gdk.Color(255, 255, 255));
rightSeparator.SetSizeRequest(10, 600);
rightSeparator.ModifyBg(StateType.Normal, new Gdk.Color(200, 200, 200));
winFix.Put(rightSeparator, 580, 0);
win.Add(winFix);
win.ShowAll();
}
public static void Main() {
Application.Init();
new MainWindow();
Application.Run();
}
}
public class Light {
DrawingArea darea = new DrawingArea();
Light(int x, int y, int size) {
MainWindow.win.Add(darea);
}
}
Thx它現在運行。 'new MainWindow()'和'MainWindow myMainWindow = new MainWindow()'有什麼區別? @Eugen Rieck – Charlie
第一個只創建一個新窗口,但沒有保留對它的引用......第二個保存引用,所以你可以按照描述使用它。 –