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
我正在开发音频提示表的应用程序。如果用户关闭应用程序,我会在应用程序内部保存位置、高度和宽度,以便在启动时我可以重置位置、高度和宽度。 现在我收到一个错误报告,在 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