Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/120: Рейтинг темы: голосов - 120, средняя оценка - 4.82
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169

Как создавать дочерние окна?

09.07.2012, 22:14. Показов 24351. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот у меня окно например форм1, нажимаю на буттон и в форм1 появляется форм2 (появление должно быть незаметным).
могу привести пример, есть у меня форма на ней картинка1, когда нажимаю на буттон в этой форме появляется картинка2 (незаметно) как будто сменилась картинка а не появилась новая форма.
помогите реализовать)
Миниатюры
Как создавать дочерние окна?  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.07.2012, 22:14
Ответы с готовыми решениями:

Не появляются дочерние окна
FmMain formMain = this; formMain.IsMdiContainer = true; FmChild formChild = new FmChild(); ...

Замена WinApi для C# (создавать окна и функционал самостоятельно)
Здравствуйте. Заранее приношу свои извинения, если вопрос кривоват. Я пока не очень точно разбираюсь в технологиях Windows. Мне хотелось бы...

Разработать приложение, позволяющее создавать окна для представления в древообразном виде файловой структуры
Здравствуйте! Разработать многооконное MDI приложение, позволяющее создавать окна для представления в древообразном виде файловой...

16
1923 / 428 / 41
Регистрация: 12.07.2007
Сообщений: 2,062
10.07.2012, 05:23
Ерунда какая-то. Опиши лучше какую задачу пытаешься решить.
И да, формы незаметно не появляются
0
+B
Заблокирован
10.07.2012, 06:28
C#
1
2
3
4
            Form f = new Form();
            f.TopLevel = false;
            this.Controls.Add(f);
            f.Show();
0
68 / 60 / 18
Регистрация: 03.12.2010
Сообщений: 365
10.07.2012, 06:44
я скажу действенную вещь)))) тебе проще запихнуть в ресурсы много картинок и когда ты нажимаешь на кнопку, у тебя меняется картинка в пикчекбоксе)))) можно сделать даже чтобы рэндомно вызывало картинку ))) для этого нужно объявить массив картинок, после инициализации предположим объявить каждой переменной массива каждую картинку))) а так же не забудь написать для рэндома

Random r = new Random();

массив вот так делается)))

Image[] img = new Image[100];

и когда будешь использовать рэндомный вызов картинок...то будешь писать pictureBox1.Image=img(r.Next(0,100));

от нуля до ста...но изменишь сам)) может у тебя будет тока пять картинок или десять))))

сорри что код писал так... без нужного тега))) я просто с телефона))) если понадобиться помощь с тем что я написал...то отпишу позже))) опять же с телефона)))
0
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169
10.07.2012, 09:51  [ТС]
Цитата Сообщение от Миушник Посмотреть сообщение
тебе проще запихнуть в ресурсы много картинок и когда ты нажимаешь на кнопку, у тебя меняется картинка в пикчекбоксе
я взял это как за пример, за место картинка должна быть форма!

Добавлено через 15 минут
Цитата Сообщение от +B Посмотреть сообщение
C#
1
2
3
4
Form f = new Form();
 f.TopLevel = false;
 this.Controls.Add(f);
 f.Show();
попробывал, получилось, но когда поставил formborderstyle на none форма не появлялась
0
+B
Заблокирован
10.07.2012, 10:41
Цитата Сообщение от Marik768 Посмотреть сообщение
попробывал, получилось, но когда поставил formborderstyle на none форма не появлялась
У тебя в примере никакого none нет и твой вопрос не содержит таких пожеланий. Научись излагать свои мысли в доступной для других форме. Может тебе надо MDI-форма, а ты толком не можешь объяснить.
0
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169
10.07.2012, 12:19  [ТС]
Цитата Сообщение от +B Посмотреть сообщение
У тебя в примере никакого none нет и твой вопрос не содержит таких пожеланий. Научись излагать свои мысли в доступной для других форме. Может тебе надо MDI-форма, а ты толком не можешь объяснить.
может по тому, что я не знаю, стораюсь объеснить как могу ...

Добавлено через 56 минут
Цитата Сообщение от +B Посмотреть сообщение
Может тебе надо MDI-форма
да кажится, это что нужно, а как сделать чтоб окна запускались в родительском окне на всю родительскую форму?
0
+B
Заблокирован
10.07.2012, 12:37
Цитата Сообщение от Marik768 Посмотреть сообщение
а как сделать форму с none ?
Какая форма у тебя должна быть без шапки? Главная или дочерняя? Что я должен каждый раз за язык тебя тянуть?
Цитата Сообщение от Marik768 Посмотреть сообщение
попробывал, получилось, но когда поставил formborderstyle на none форма не появлялась
Ты уверен в этом? Может просто ты ее не увидел из за того, что фон у форм был одинаков?
C#
1
2
3
4
5
6
7
8
            //this.FormBorderStyle = FormBorderStyle.None;
            Form f = new Form();
            f.TopLevel = false;
            f.FormBorderStyle = FormBorderStyle.None;
            f.ClientSize = new System.Drawing.Size(this.Width/2,this.Height/2);
            f.BackColor = Color.Red;
            this.Controls.Add(f);
            f.Show();
0
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169
10.07.2012, 13:06  [ТС]
Цитата Сообщение от +B Посмотреть сообщение
Ты уверен в этом? Может просто ты ее не увидел из за того, что фон у форм был одинаков?
да, я буттон дабовлял
1
+B
Заблокирован
10.07.2012, 13:12
Цитата Сообщение от Marik768 Посмотреть сообщение
да, я буттон дабовлял
Давай свой код.

Добавлено через 2 минуты
MDI-форма
C#
1
2
3
4
5
 
            this.IsMdiContainer = true;
            Form newForm = new Form();
            newForm.MdiParent = this;
            newForm.Show();
0
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169
10.07.2012, 13:20  [ТС]
Цитата Сообщение от Marik768 Посмотреть сообщение
Ты уверен в этом? Может просто ты ее не увидел из за того, что фон у форм был одинаков?
да с этим уже все получилось в MDI-форме, вот только все не могу запустит форму на весь размер родительского окна, пробывал свойства WindowState не помогло(
https://www.cyberforum.ru/atta... 1341912232
0
251 / 163 / 14
Регистрация: 10.03.2012
Сообщений: 544
10.07.2012, 13:52
Цитата Сообщение от Marik768 Посмотреть сообщение
да с этим уже все получилось в MDI-форме, вот только все не могу запустит форму на весь размер родительского окна, пробывал свойства WindowState не помогло(
https://www.cyberforum.ru/atta... 1341912232
Аттач не открывается, перезалейте.
Свойство WindowState используете после вызова newForm.Show()?

Не по теме:

Если хотите реализовать многовкладочный интерфейс, используйте библиотеку DockPanelSuite
https://github.com/dockpanelsuite, с ней можно создать интерфейс наподобие Visual Studio 2008.

1
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169
10.07.2012, 14:11  [ТС]
спасибо всем)
у меня все получилось.

Добавлено через 1 минуту
да и вот еще вопросик появился, как картинку поставить на фон MDI-форме?
пробывал через blackgroundimage, но когда вызывал другую форму программа писала ошибку
0
251 / 163 / 14
Регистрация: 10.03.2012
Сообщений: 544
10.07.2012, 14:17
Когда форма в режиме MDIContainer, у нее можно изменить только цвет фона, не изображение.

Цитата Сообщение от Marik768 Посмотреть сообщение
у меня все получилось.
Получилось, когда Вы поставили разворачивание дочерней формы (WindowState) после ее отображения (Show())?
0
6 / 6 / 2
Регистрация: 08.06.2012
Сообщений: 169
10.07.2012, 15:53  [ТС]
Цитата Сообщение от iprog Посмотреть сообщение
Получилось, когда Вы поставили разворачивание дочерней формы (WindowState) после ее отображения (Show())?
да, childForm.WindowState = FormWindowState.Maximized;
Цитата Сообщение от iprog Посмотреть сообщение
Когда форма в режиме MDIContainer, у нее можно изменить только цвет фона, не изображение.
хотите этим сказать, что не как?

Добавлено через 1 минуту
Цитата Сообщение от iprog Посмотреть сообщение
только цвет фона, не изображение.
а как тогда цвет фона можно сменить?
0
251 / 163 / 14
Регистрация: 10.03.2012
Сообщений: 544
10.07.2012, 15:56
Цитата Сообщение от Marik768 Посмотреть сообщение
хотите этим сказать, что не как?
К сожалению, да

Добавлено через 2 минуты
Цитата Сообщение от Marik768 Посмотреть сообщение
а как тогда цвет фона можно сменить?
Свойство BackColor формы.

Не по теме:

Может, Вы об этом не знаете, но если открыть список выбора цветов для этого свойства (или любого другого, которое задает цвет), выбрать вкладку Custom и щелкнуть правой кнопкой мыши по любому цвету, можно изменить этот цвет в стандартном диалоге Выбор цвета.

1
Футболист
 Аватар для Goal
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
10.07.2012, 16:24
в главной форме устанавливаете свойство IsMdiContainer true
а при вызове другой формы, перед её открытием, присвойте свойству MdiParent this

Код
C#
1
2
3
4
5
6
//где-то в коде main формы
this.IsMdiContainer = true;// или это сделайте с помощью окна Propertices в дизайнере
//далее где-то открываем другую форму
ChildForm childForm_ = new ChildForm();
childForm_.MdiParent = this;
childForm_.Show();
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.07.2012, 16:24
Помогаю со студенческими работами здесь

Как получить все дочерние окна процесса?
Получаю все процессы, нахожу нужный, но мне еще нужны вложенные окна типа Ebit и им подобным, полный список, как их можно получить? Через...

Дочерние элементы окна
Здравствуйте. Есть окно с именем "Window" с 4-мя кнопками, одним textbox и двумя контейнерами - DockPanel и StackPanel. В DockPanel...

Как правильно создавать дочерние окна?
Всем доброе время суток. Может кто подсказать как правильно создавать дочерние окна. Например есть окно Form1 и при нажатии на кнопку нужно...

Как создавать дочерние окна (окно в окне)
Здравствуйте! Подскажите пожалуйста, как можно в WPF создавать дочерние окна? т.е. Есть одно окно mainWindow, и по кнопке можно вызвать...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru