LINUX.ORG.RU

MonoDevelop: закрытие формы приложения

 , ,


0

2

Наименование темы кажется пустяковым: «Ну и чего сложного в закрытии формы?», но сколько ни смотрю доку по Mono и Gtk#, ничего подходящего найти не могу! В мелкософтовском Framework'е у всех форм/окошек был метод Close() - вызвали его и форма закрылась, но в Mono/Gtk# ничего похожего найти не смог. Суть приложения: имеется главная форма и несколько второстепенных; пользователь нажимает на одну из кнопок главной формы - открывается второстепенное окно, в которое он вводит данные и нажимает Ok; после нажатия на кнопку, текущее второстепенное окно должно закрыться, открыв другое - кратко примерно так. Пересмотрел все методы Window - ничего даже похожего на Close() не нашел, каким образом закрыть окно ума не приложу. Уважаемые разработчики Linux, подскажите пожалуйста, как можно закрыть(не скрыть, а именно закрыть) окно приложения, написанного в MonoDevelop под Gtk#? Заранее огромное спасибо


Для этого есть метод Destroy.

Если из самого класса закрываете, то можно так

this.Destroy();

или просто

Destroy();

anonymous ()
Ответ на: комментарий от anonymous

Вся проблема в том, что Destroy() не закрывает окно, я так уже пробовал. Это касается именно второстепенных окон, при применении Destroy() к главному окну, он его закрывает и завершает приложение, именно поэтому я отдельно и выделил понятия главное и второстепенное окна. Тест проводил на Ubuntu 12.04

Mixim ()
Ответ на: комментарий от Mixim

Приложение Destroy сам по себе не завершает. У вас просто где-то обработчик сигнала стоит.

Странно, что не закрывает второстепенные окна. Специально только что проверил, работает.

anonymous ()
Ответ на: комментарий от anonymous

Спасибо большое, по своей невнимательности перепутал Destroy() с Dispose() - вот и причина не закрытия

Mixim ()
Ответ на: комментарий от visual

Также спасибо, но hide только скрывает окно, а мне необходимо закрытие и последующее освобождение памяти, выделенной под окно

Mixim ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.