| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Visual C#: Как запихнуть две формы в проект? |
| Автор: Human 18.6.2004, 16:59 |
| Я только начал осваивать Visual Studio, в частности язык C#. И у меня возник вопрос по поводу форм. Я добавил в проект вторую форму, и теперь не могу ее вызвать. Т. е. при нажатии на кнопку на первой, должна появляться вторая форма, но я так и не понял как это осушествить. Буду оч благодарен если кто-нибудь разяснит это скромному ламеру |
| Автор: Kurt 18.6.2004, 17:13 | ||||
Вставляешь в обработчик клика:
где Form2 - твоя вторая форма. Если хочешь показать форму в модальном режиме:
Все. Кстати, если 2-я форма где-то еще понадобится в обработчиках 1-й событий формы, можешь сделать переменную frm глобальной.. Удачного освоения! |
| Автор: Human 18.6.2004, 18:04 |
| спасибо за совет! я попробовал, и вот что получил. если использовать Form2 frm = new Form2() то он начинает ругаться на Form2. если я использую просто Form frm = new Form() frm.Show(); то все работает без сбоев, НО: появляется совершенно пустая новая форма, а у меня была задача вывести уже скомпонованную готовую отдельную форму, которая уже внедрена в проект. как быть? |
| Автор: human 18.6.2004, 18:40 | ||
| я еще попробовал кое-что и у меня получилось. использовал это:
где about - как раз та вторая форма. работает и что самое главное - показывается уже готовая и вложенная в проект форма. теперь еще один вопрос: как при появлении второй формы как бы заблокировать первую, т.е. пока вторую не закроешь доступа к первой что бы небыло. |
| Автор: stab 18.6.2004, 19:15 | ||||
надо заменить на:
|
| Автор: Kurt 18.6.2004, 21:17 | ||||||
| human, погоди. У тебя класс 2-й формы назывался about? Блин, я ж тебе говорил:
Не надо понимать буквально! Я ж не знал имя твоей 2-й формы! Надо было подставить вместо Form2 ТВОЕ имя класса! Кстати,
Как я понимаю, ты тут создаешь переменную, совпадающую по имени с типом. Это нежелательно. Попробуй так:
cully, и Show() и ShowDialog() можно вызывать без параметров. Тогда окном-родителем считается текущее окно. |
| Автор: human 19.6.2004, 00:00 |
| Kurt, cully, большое спасибо, разобрался! |
| Автор: stab 19.6.2004, 01:26 | ||
еще такой совет: при использовании ShowDialog, после того как форма больше не нужна, надо обязательно вызвать метод Dispose, т.е.
т.к. при использовании ShowDialog форма не освобождается, а просто прячется и все созданные копии формы висят в памяти. |
| Автор: human 19.6.2004, 13:06 | ||
угумс, учту. |
| Автор: human 19.6.2004, 23:51 |
| У меня возник еще один важный (наверно только для меня) вопрос: сделал я програмку малюсенькую, скомпилировал ее и она у меня прекрасно работает. но что нужно сделать чтобы она работала и у других?! а то получается, я прошу ее протестить — а она ни у кого не запускается. возможно нужно привязать какие-то библиотеки, или еще что-то сделать. как быть? |
| Автор: stab 20.6.2004, 07:28 |
| Нужно что бы на компьютере стоял .net framework. Взять дистрибутив можно либо на диске с VS, либо на сайте microsoft -- http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en |
| Автор: human 20.6.2004, 09:22 |
| т.е. все приложения которые я создаю при помощи Visual Studio .Net (не выжно на каком языке) для запуска будут требовать .net framework? |
| Автор: Kurt 20.6.2004, 10:12 |
| Ну да. Также как для Java нужна JavaVM. Тока следует учесть, что M$ теперь везде будет встраивать Framework в свои Windows (до след. умопомрачитеьной идеи, конечно). Кроме того, существуют специальные Майкрософтовские пакеты для обеспечения работоспособности дотНЕТ-приложения на "обычной" машине. |
| Автор: human 20.6.2004, 11:00 | ||
спасибо, теперь все ясно и еще, нет ли у тебя линка где про обеспечение работы приложений .нет на обычных машинах можно почитать? |
| Автор: Softaz 17.7.2006, 22:55 |
| Вот статья про создание инсталляционных пакетов и распространении .NET http://apro.ladia.ru/csharp/setup_win.zip |
| Автор: Exception 17.7.2006, 23:07 |
Глобальные переменные -- зло. Лучше сделать специаьлный класс для хранения ссылок. human, на Вашем месте я бы почитал книжки. Видно, что Вы совсем не понимаете, о чём говорите. |