|
1 / 1 / 0
Регистрация: 07.03.2012
Сообщений: 14
|
||||||||||||||||
Вызов форм из консоли10.03.2012, 07:09. Показов 12642. Ответов 33
Метки нет (Все метки)
Здравствуйте, уже неделю пытаюсь решить задачу, но пока результатов мало..
Задание: вызвать из консоли 2 формы, размеры форм можно изменять параллельно, если изменишь поле размер в первой форме, сразу изменится во второй. через консоль также надо сделать возможность закрывать, открывать эти формы+ изменять размер. Знаний c# минимум, только неделю изучаю. с с++ всё норм ) Короче... дошел до этапа простого создания форм из консоли и тут проблема ! Во первых не хочет создаваться немодальное окно form.Show(); именно в консоли, если вызывать из другой формы немодальное , то всё норм (при вызове из консоли просто подвисает). Во вторых вызываю из 1 формы вторую и если несколько раз вызывать, создается много много одинаковых форм, а это не нужно создаю вот так, как сделать чтобы она была единственная Form1 f = new Form1(); f.Show(); Program.cs
0
|
||||||||||||||||
| 10.03.2012, 07:09 | |
|
Ответы с готовыми решениями:
33
Вызов форм. Вызов из консоли системы WPF Image.Source. В XP вызов некоторых форм вызывает ошибку |
|
1 / 1 / 0
Регистрация: 07.03.2012
Сообщений: 14
|
||||||
| 11.03.2012, 16:00 [ТС] | ||||||
|
Да, спасибо наконец то скомпилировалось!
Я так понял цель этого всего была как раз для того чтобы нормально изменять размеры одной формы из другой... Я написал как раньше изменял размеры (но тогда появлялась новая форма), теперь просто вылетает
0
|
||||||
|
19 / 19 / 4
Регистрация: 08.03.2012
Сообщений: 72
|
|
| 11.03.2012, 16:05 | |
|
Кинь прогу
0
|
|
|
1 / 1 / 0
Регистрация: 07.03.2012
Сообщений: 14
|
||||||||||||||||
| 11.03.2012, 16:17 [ТС] | ||||||||||||||||
0
|
||||||||||||||||
|
8384 / 3618 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
|
|
| 11.03.2012, 16:25 | |
|
1
|
|
|
19 / 19 / 4
Регистрация: 08.03.2012
Сообщений: 72
|
||||||||||||||||
| 11.03.2012, 16:37 | ||||||||||||||||
0
|
||||||||||||||||
|
1 / 1 / 0
Регистрация: 07.03.2012
Сообщений: 14
|
||||||
| 11.03.2012, 16:57 [ТС] | ||||||
P.s. спасибо всем, я спать )
0
|
||||||
|
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
|
||||||||||||||||||||||||||
| 11.03.2012, 18:01 | ||||||||||||||||||||||||||
|
А вот как я выполнил это задание...
Создал консольное приложение. Создал абстрактный класс MySynchForm, который унаследовал от Form, и добавил ему нужные обработчики событий и свойства: Код MySynchForm
Этот класс в своём конструкторе принимает ссылку на FormList. FormList - это класс, унаследованный от List<MySynchForm>, для хранения списка всех форм. Он также умеет устанавливать всем формам в его списке одинаковый размер через метод SetSizes(Size sz). FormList
Затем создал 2 формы Form1 и Form2, которые унаследовал от MySynchForm, и добавил им конструктор с FormList, чтобы они переняли функционал у MySynchForm. Код Form1
Код Form2
В самой программе сделал метод ThreadMethod(Type type, FormList fl), который принимает тип формы для создания и ссылку на FormList. Код Program.cs
В общем, в итоге мы получаем универсальный код, который может создавать много форм, автоматически меняющих свой размер за другими. Подробнее смотрите комментарии в коде. Проект: FormSynchronizer.zip
1
|
||||||||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 07.03.2012
Сообщений: 14
|
|
| 12.03.2012, 13:36 [ТС] | |
|
Спасибо, но размер формы не нужно изменять синхронно (
нужно именно из одной формы - изменять размер другой по кнопке. все элементы растягивания и кнопки закрытия - скрыты
0
|
|
|
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
|
|
| 12.03.2012, 15:54 | |
|
Так это же проще... Сможете сами переделать мой пример...? Вроде по максимуму объяснил всё....
Или помочь...?
0
|
|
|
1 / 1 / 0
Регистрация: 07.03.2012
Сообщений: 14
|
|
| 12.03.2012, 16:58 [ТС] | |
|
Если честно, слишком много всего, чтобы сразу понять ( то что писали до этого ещё понятно, а этот пример ...)
И ещё вопрос, почему в вашем проекте не удается изменить параметры самих форм Form1 и Form2 ? Обычно, при нажатии должна появиться форма, куда добавлять кнопки и т.д., а тут выдает ошибку хотя код формы редактируется и компилируется всё нормально...
0
|
|
|
|
||||||||
| 12.03.2012, 17:22 | ||||||||
|
Типа: /createForm form1 /setSize form1 /openForm form1 Или как? Объяснил бы по-человечески все детали. Просто во всех темах одно и тоже, всегда выпытывают детали задания, а тот кому нужно их решить почти никогда толково не описывает задачу (будь уверен из-за этого уйма народу тупо проходит мимо не заморачиваясь). Добавлено через 8 минут
1
|
||||||||
|
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
|
|||||||||||||
| 12.03.2012, 20:30 | |||||||||||||
|
Такое может быть у меня было... Проблема обошлась повторной компиляцией. Дело в том, что Form1 и Form2 зависят (наследуются) от MySynchForm, поэтому, если эта форма не скомпилирована, то отобразить зависимую форму невозможно.
Нашёл ошибку... в коде MySynchForm уберите слово abstract. Исправьте с:
Добавлено через 3 минуты
0
|
|||||||||||||
|
107 / 107 / 9
Регистрация: 19.12.2010
Сообщений: 417
|
|
| 12.03.2012, 20:57 | |
|
Исправленный и дополненный проект. Вроде, как Вы и просили сделать...
FormSynchronizer.zip
0
|
|
|
1 / 1 / 0
Регистрация: 07.03.2012
Сообщений: 14
|
|
| 13.03.2012, 07:38 [ТС] | |
|
Спасибо большое, доделал программу до вида, который был в задании..
Приношу седня прогу, чтобы препод посмотрел, он говорит, а на чем она, на с# ? да там же вс `само за тебя сделано... на нем слишком просто... а надо было на MFC писать с++. Вот такая история, седня буду переделывать всё, а точнее начинать по новой
1
|
|
| 13.03.2012, 07:38 | |
|
Счетчик из консоли в вин форм Переделать программу из консоли в вин форм двумерный массив Вызов консоли с winforms
Вызов консоли для другой вкладки из консоли js Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|