GTK# 询问监视器边界

GTK# Ask monitor boundaries

我正在开发音频提示表的应用程序。如果用户关闭应用程序,我会在应用程序内部保存位置、高度和宽度,以便在启动时我可以重置位置、高度和宽度。 现在我收到一个错误报告,在 2 个显示器上,用户关闭应用程序,切换到仅 1 个显示器(停靠笔记本电脑)并再次打开应用程序,应用程序不再显示,因为该位置在第二个显示器上( x,y > 2000 像素)。 你有什么想法,我如何向 GTK 询问监视器边界? 我使用的代码: 设置位置:

this.Move(Program.getInstance().getObjOption().getIntWindowX(), Program.getInstance().getObjOption().getIntWindowY());

获得位置:

protected void OnDeleteEvent(object sender, DeleteEventArgs a)
{
            //Save window allocation
            int intX;
            int intY;
            this.GetPosition(out intX, out intY);
            Program.getInstance().getObjOption().setIntWindowX(intX);
            Program.getInstance().getObjOption().setIntWindowY(intY);
}

感谢您的帮助! 斯文

如果您想要连接的显示器的总屏幕尺寸,这可以通过

获得
 Gdk.Screen screen = Gdk.Screen.Default;
 int width = screen.Width; 
 int height = screen.Height;

我刚刚尝试连接了 2 个显示器(1920x1200 和 1920x1080) 它给出了 3840x1200