Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > многооконное SDI приложение


Автор: Certain 2.10.2008, 20:10
очень интересует ("живой" пример Photoshop)!   smile 
Как реализовать чтобы были активны все формы, если главная форма активна?
Как сделать, чтобы эти дочерние формы не отображались в панели задач?
Да и если есть какие-нибудь статьи, выкладывайте, буду очень признателен!
MDI не предлагать !!

Автор: diadiavova 3.10.2008, 00:15
Не знаю как там в фотожопе(не пользуюсь), но если речь идёт о том, чтобы при активации главной формы остальные ставались на переднем плане(потому как я не понимаю как может быть активно несколько форм сразу), то для этого есть свойство TopMost, ему надо присвоить значение true. А для того, чтобы они не отображались на панели задач, надо присвоить false свойству ShowInTaskbar.

Автор: MasterOfCode 3.10.2008, 08:49
Цитата(diadiavova @  3.10.2008,  02:15 Найти цитируемый пост)
надо присвоить false свойству ShowInTaskbar. 

Да, но самый ацтой что при этом когда будешь юзать alt+tab, эти формы там будут видны. 

Автор: diadiavova 3.10.2008, 12:30
Цитата(MasterOfCode @  3.10.2008,  08:49 Найти цитируемый пост)
Да, но самый ацтой что при этом когда будешь юзать alt+tab, эти формы там будут видны.


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

Автор: nyxiscoo1 3.10.2008, 22:46
Тоже интересует вопрос заданный топиккастером.
Такое точно можно реализовать на .net примером тому может служить Paint .Net который почти полностью написан на C#.

Автор: diadiavova 3.10.2008, 22:52
Насчёт топиккастера самому интересно - хоть узнаю что это такое. smile 

Автор: Certain 4.10.2008, 09:54
Вобщем всем спасибо за ответы! Вопрос решён!  smile 
Кому интересно:
имеем Form1 и Form2, Form1 будет главной. В конструкторе Form1 пишем:
Код

Form2 fr2 = new Form2();
fr.ShowInTaskbar = false;
fr2.Owner = this;
fr2.Show();
 

при этом форма Form2 будет сворачиваться вместе с главной и находится будет всегда поверх главной

Тема закрыта! Всем спасибо

Автор: Certain 6.10.2008, 20:57
В продолжение темы: как указать Location для такой дочерней формы(многооконное SDI)?

Автор: MasterOfCode 7.10.2008, 05:49
Код

fr2.Location = new Point(0,0);

Автор: Certain 7.10.2008, 10:38
 smile  Если бы это работало, я бы не спрашивал! 

Автор: MasterOfCode 7.10.2008, 10:41
Код

SetDesktopLocation(Screen.PrimaryScreen.WorkingArea.Width - this.Width - (Screen.PrimaryScreen.WorkingArea.Width / 100 * 3), 
(Screen.PrimaryScreen.WorkingArea.Height / 100 * 3));

Автор: diadiavova 7.10.2008, 10:49
Попробуй так
Код

fr2.SetDesktopLocation(x, y);

Автор: Certain 7.10.2008, 12:57
Народ, все работает! Случайно поставил свойство StartPosition в WindowsDefaultLocation, поменял в Manual!
Извиняюсь, моя не внимательность!
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)