Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по MDI... / 11 сообщений из 11, страница 1 из 1
18.11.2004, 12:56
    #32788956
Sini
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
Есть приложение MDI, и есть несколько дочерних форм которые появляются в главном.
А также есть несколько кнопок, каждая из которых либо убирают дочернее окошко либо снова отображает.

Мне нужно чтобы если ты уберешь и снова отразишь окно чтобы оно отразилось в том же месте.

Как лучше реализовать это ?
...
Рейтинг: 0 / 0
18.11.2004, 13:16
    #32789030
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
В зависимости от того, насколько долго ты хочешь скрывать окно, есть два метода:

1. Если "запомнить" надо пока программа не завершилась, то свойство Visible=false для скрытия Visible=true для отображения (на том же месте, заметь).

2. Если надо помнить после завершения программы, то сохраняй настройки (местоположение окон и прочее) в реестре, тогда при следующем запуске твоей ты сможешь восстановить местоположение твоей дочерней формы.
...
Рейтинг: 0 / 0
18.11.2004, 13:58
    #32789151
Sini
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
Roman S. GolubinВ зависимости от того, насколько долго ты хочешь скрывать окно, есть два метода:

1. Если "запомнить" надо пока программа не завершилась, то свойство Visible=false для скрытия Visible=true для отображения (на том же месте, заметь).


В этом случае таки форма появляется в разных местах
...
Рейтинг: 0 / 0
18.11.2004, 14:17
    #32789213
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
Тогда не просто Visible=true, а
Код: plaintext
1.
2.
3.
Rectangle rect = form.Bounds;
Visible=true;
form.Bounds = rect;
...
Рейтинг: 0 / 0
18.11.2004, 14:33
    #32789274
Roman S. Golubin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
А еще лучше у чилда указать свойство StartPosition = Manual
...
Рейтинг: 0 / 0
18.11.2004, 15:02
    #32789364
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
Можно так решить проблему:

Создать пустую форму.
В ней объявить static свойство
Сохранять в него Location и Size по событию Closing
Восстанавливать Location и Size при инициализации формы
...
Build Solution
...
В каждой своей форме наследоваться теперь не от System.Windows.Forms.Form,
а от только что созданной формы. Просто переписать одну строчку.
Это все.
...
Рейтинг: 0 / 0
18.11.2004, 16:41
    #32789700
ctmike
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
Последний способ хорош ;)), но не решает проблему сохранения между сесиями, ИМХО луше в файл(IsolatedStorage) по OnClosing, OnLoad.
Если формаочка конечно не сто раз в секунду открывается ;))
Наилучшие!
...
Рейтинг: 0 / 0
18.11.2004, 17:35
    #32789903
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
ctmikeПоследний способ хорош ;)), но не решает проблему сохранения между сесиями, ИМХО луше в файл(IsolatedStorage) по OnClosing, OnLoad.
Если формаочка конечно не сто раз в секунду открывается ;))
Наилучшие!С удовольствием посмотрел бы пример.
IsolatedStorage пока не использую.
Кстати как на счет static - счетчика открытых форм?
(пореже обращаться к файлу)
...
Рейтинг: 0 / 0
18.11.2004, 22:37
    #32790260
Sini
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
WorobjoffМожно так решить проблему:

Создать пустую форму.
В ней объявить static свойство
Сохранять в него Location и Size по событию Closing
Восстанавливать Location и Size при инициализации формы
...
Build Solution
...
В каждой своей форме наследоваться теперь не от System.Windows.Forms.Form,
а от только что созданной формы. Просто переписать одну строчку.
Это все.

По моим рассужденияm, мне придется для каждой формы создать базовый класс с static членами, а не один базовый класс на все формы ?
...
Рейтинг: 0 / 0
19.11.2004, 08:25
    #32790425
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
SiniПо моим рассужденияm, мне придется для каждой формы создать базовый класс с static членами, а не один базовый класс на все формы ?Один базовый для всех дочерних форм.
...
Рейтинг: 0 / 0
19.11.2004, 13:27
    #32791251
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по MDI...
Worobjoff SiniПо моим рассужденияm, мне придется для каждой формы создать базовый класс с static членами, а не один базовый класс на все формы ?Один базовый для всех дочерних форм.Прошу прощения - ошибаюсь. Сам же на эту ошибку и наткнулся.
Тяжеловато получится если для каждой формы добавлять базовый класс, но идея эта еще пригодится. В других случаях.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Вопрос по MDI... / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]