| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Формы в C# |
| Автор: valid 14.2.2010, 23:58 |
| Здравствуйте!!!!! Есть такая проблемка, имеются 3 формы(главная, первая и вторая). На главной форме находятся две кнопки. Одна кнопка должна открывать первую форму, закрывая главную, а вторая - вторую соответственно. На первой форме расположены две кнопки, сохранить и отменить. При нажатии на сохранить, главная форма должна появиться и закрыться первая. Такой еще вопрос, как показать на экране две независимые формы? |
| Автор: valid 15.2.2010, 00:25 |
| нет, это не вопрос, нужно открыть другую независимую от главной формы форму. Независимую, в смысле, что можно с ними делать разные действия(скрывать, закрывать, открывать заново - независимо друг от друга) Добавлено через 2 минуты и 9 секунд кнопки сохранить и отменить я привел как пример. на первой форме могут находиться много других элементов |
| Автор: Экскалупатор 15.2.2010, 00:43 |
| valid, сделай класс который будет открывать сначала одну форму, потом другую. а когда вторая закроется то что бы снова открывал первую. Добавлено через 1 минуту и 27 секунд т.е. надо сделать класс который будет управлять формами |
| Автор: valid 15.2.2010, 00:45 |
| ммм, а как внутри одной формы запустить другую? |
| Автор: Экскалупатор 15.2.2010, 00:50 | ||
форма это такой же класс как и всякий другой. и работает почти так же. создаешь экземпляр этого класса и показываешь его.
|
| Автор: Miller_time 15.2.2010, 00:54 |
| Form1 frm=new Form1(); //Запускает твою форму. this.close(); //Закроет текущюю форму. P.S. писал с мобильного, телефона за точность,не отвечаю |
| Автор: valid 15.2.2010, 01:28 | ||||
| спасибо, но тут опять же зависимость получается нажимаем на кнопку AddTask
вот так сделать не получится.....
и еще, на Form1 у нас кнопка, по нажатию, закрывается Form1 и открывается наша скрытая или закрытая форма |
| Автор: Экскалупатор 15.2.2010, 01:46 |
| valid, я же вроде бы написал, сделай класс который будет тебе открывать и закрывать формы. и не будет никаких проблем. |
| Автор: valid 15.2.2010, 01:50 |
| ммм, все, разобрался. Спасибо всем большое!!! |
| Автор: de_Nis 15.2.2010, 10:11 |
valid, хорошим тоном на форуме является показ найденного решения. Решение полезно тем, кого интересует вопрос темы. К тому же в найденном решении, если его показать, более опытные форумчане могут найти ошибки или неточности. |
| Автор: valid 15.2.2010, 10:19 | ||
я раньше не сидел на форумах, поэтому тонкостей не знаю.... |
| Автор: Экскалупатор 15.2.2010, 10:33 | ||||
valid, у тебя в итоге получается запущены 2 главные формы. потому что в
ты главную форму не закрываешь а прячешь, т.е. фактически она остается в памяти. а потом ты
создаешь новую форму и показываешь ее. при этом старая форма остается висеть в памяти в свернутом состоянии... это все конечно работает, но это как минимум не красиво. надо как то уже хоть взаимодействовать между формами, что бы вторая форма получала ссылку на первую и при выходе показывала ее. |
| Автор: valid 15.2.2010, 10:48 |
| ммм, интересно, как это сделать? |
| Автор: Экскалупатор 15.2.2010, 11:08 |
ну про это я уже два раза писал. но если сложно с классом. то самый простой способ это передать ссылку на главную форму в конструктор "первой"(использую названия из первого поста) формы. а потом работать с этой ссылкой. |
| Автор: valid 15.2.2010, 12:03 |
| аа, я просто не понял о чем речь, ночь не спал =)).... Добавлено через 1 минуту и 35 секунд у меня еще вопросик имеется, что то я нагуглить не смог..... как заблокировать все что может закрыть фору... то есть, крестик в правом верхнем углу, Alt + F4? И еще, как отловить что форму закрыли? |
| Автор: KelTron 15.2.2010, 13:44 | ||
|
| Автор: valid 15.2.2010, 14:01 |
| Вы знаете, не работает =(. скопировал Ваш код, изменил имя формы и ..... закрывается крестиком.... |
| Автор: KelTron 15.2.2010, 14:11 |
| Я думал догадаешься, что это обработчики событий. Их нужно подключить к событиям формы. |
| Автор: valid 15.2.2010, 14:16 |
| я недавно только с формами и событиями начал работать..... Добавлено через 55 секунд как подключить к событиям формы?? |
| Автор: KelTron 15.2.2010, 15:10 | ||
Если в коде то так:
Вкладка Properties, сверху значёк в виде молнии, на него кликаешь, открывается список событий. Новый обработчик генерируешь просто двойным щелчком, а если нужно подключить уже имеющийся (как в данном случае), то выбираешь из комбобокса. |
| Автор: valid 15.2.2010, 15:27 |
| спасибо большое!!!! |
| Автор: valid 22.2.2010, 13:22 |
| Появился еще вопросик, как сделать RichTextBox прозрачным, напрример, на 50%? |
| Автор: gambit 22.2.2010, 15:54 |
| valid, 1. Даже закреплена тема про формы, где все разжевано. 2. Один топик один вопрос. |
| Автор: vitolena 12.5.2011, 19:47 |
| Доброе время суто подскажите пожалуйста, есть уменя база на SQL есть в ней таблица для регистраций регистрирую пользователей с клиента, код написан для вин приложения как сделать правельно чтоб с формы проверялась ауттификация для в хода и при этом для каждего пользователя откривалась опредёлёная форма подскажите плиз или сбросте пример очень надо помогите начанающему Зарание благобарю Добавлено через 13 минут и 25 секунд Доброе время суто подскажите пожалуйста, есть уменя база на SQL есть в ней таблица для регистраций регистрирую пользователей с клиента, код написан для вин приложения как сделать правельно чтоб с формы проверялась ауттификация для в хода и при этом для каждего пользователя откривалась опредёлёная форма подскажите плиз или сбросте пример очень надо помогите начанающему Зарание благобарю |
| Автор: Экскалупатор 12.5.2011, 23:07 |
| особенно настраивает то что есть два одинаковых поста, которые отличаются смайликами, при чем в первом смайлик какой то замученный, а во второй уже на все согласный.... интересно на что... а как у тебя проверяется авторизация пользователей? что вообще за приложение? что такое "база на SQL"? если по простому, то получай все данные и сверяй с тем что ввел пользователь. об остальном надо говорить про конкретное приложение, а не вообще, опиши а там посмотрим... p.s. и влазить в чужие темы со своими вопросами, тем более которые не относятся к теме топика, совсем даже не комильфо... создай тему и там все будет обсуждаться. |
| Автор: vitolena 13.5.2011, 19:44 |
| Извени если что не так первый раз на форуме вобще, а про приложение это типа каса тоесть есть менеджер и касиры чтоб менеджер регестрировал касиров и у них через запрос в приложение была одна таблица а у менеджера регистрация вод цен и товара и отчёт за месяц и каждый мог заходить под своим паролем если мож помоч помоги плиз или я могу выложить свой код мож по нём подскажешь или указать сообщение при отладлке какое ???? |
| Автор: Экскалупатор 13.5.2011, 21:55 |
| vitolena, если в двух словах, то я бы делал так: реализовать все формы, создать класс, который хранит в себе коллекцию этих классов, когда пользователь запускает приложение то ему сначала показывают форму для выбора что он хочет загрузить(к примеру, выпадающий список со списком возможных вариантов загрузки), выбора/ввода логина и ввода пароля. потом, когда пользователь все это выбрал и ввел и нажал ОК, все эти данные передаются в класс, который решает какую именно форму из коллекции ему нужно запустить, и запускает эту форму, а если данные введенные пользователем не верны то выводит соответствующее сообщение. как то так я себе это представляю. |
| Автор: vitolena 13.5.2011, 23:39 |
| да но уменя не клас хронит колекцию а хранится всё в базе даных логен и пароль |
| Автор: Экскалупатор 13.5.2011, 23:47 |
ну почему мне так не везет... давай с начала, у тебя есть разные должности, менеджеры и кассиры. что в программе отличает их друг от друга? наверное какой то различный функционал. что то могут делать менеджеры а что то кассиры. соответственно в твоей программе должен быть класс который будет проверять то что ввел пользователь(по описанной мной выше схеме) и в соответствии с результатом проверки что то показывать пользователю. либо тот интерфейс который нужен пользователю либо какое то сообщение что пользователь не имеет прав. я надеюсь это понятно? или ты опять скажешь что я думаю ты не до конца представляешь себе свою задачу. попробуй разобраться в деталях работы будущего приложения и тогда все станет понятнее. в базе у тебя скорее всего хранятся только логины и пароли(ну может быть еще членство, кто к каким группам относится). соответственно подключаемся к базе и делаем проверку того что ввел пользователь с тем что там храниться, для этого можно либо все данные получить из базы либо написать хранимую процедуру которая будет проверять сома и возвращать результат. потом на основе этого результата и должна работать дальнейшая логика приложения. Добавлено через 2 минуты и 22 секунды и все таки создай отдельную тему для своих вопросов... |