Как правильно восстановить размер окна при запуске приложения в Gtk# ?

Пишу приложение на C# с использованием GTK#.

Есть небольшая проблема, которая при детальном рассмотрении превратилась в совсем не «небольшую».
Мне нужно сохранять размер окна приложения и флаг максимизации между запусками.
Данные я сохраняю в конфиге, это не проблема. Но при попытке восстановить сохраненный размер окна при запуске приложения, я столкнулся с неадекватными трудностями.
Пробовал следующие методы:

this.SetSizeRequest((int)config["windowwidth"], (int)config["windowheight"]);


this.SetDefaultSize((int)config["windowwidth"], (int)config["windowheight"]);


this.Resize((int)config["windowwidth"], (int)config["windowheight"]);


Некоторые из этих методов вообще никак себя не проявляют, другие же работают странно: устанавливают неверный размер окна, заставляют окно бесконечно расширяться и т.п.

У меня также стоит ограничение размера одного виджета:

Gdk.Geometry geom = new Gdk.Geometry();
geom.MinWidth = 800;
geom.MinHeight = 400;
this.SetGeometryHints(BoxNotebook, geom, Gdk.WindowHints.MinSize);


Когда я использую все это вместе, это превращается в совершенно неадекватно ведущее себя окно.

Как же все таки правильно восстанавливать размер окна при запуске приложения?
  • Вопрос задан
  • 3325 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы