Уроки C# .NET Windows Forms / #2 - Создание дизайна для окна авторизации
HTML-код
- Опубликовано: 5 сен 2019
- В ходе урока мы создадим окно для авторизации пользователя в системе. Мы добавим объекты, пропишем стили, а также создадим различные обработчики событий. По итогу мы получим полностью измененное приложение с хорошим дизайном.
1) Урок на сайте itProger: itproger.com/course/csharp-app/2
✔ Сообщество программистов: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life 🚀
Группа FaceBook - goo.gl/XW0aaP
Инстаграм itProger: / itproger_official
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Twitter - / goshadudar
- Уроки от #GoshaDudar 👨🏼💻
- Все уроки по хештегу #goshaWinForms
Comic Sans MS - конечно красивый шрифт, все дизайнеры единогласно поддерживают!
Очень понятно и ясно объясняешь. Спасибо огромное!
Классный формат видео, когда можно создать небольшой код и тут же увидеть результат его работы. Отличная работа, друг!
Последовательная и понятная подача информации. Огромное спасибо!!!
Супер уроки! Все понятно даже для новичка! Спасибо, Гоша!
Спасибо вам! Очень понятно и детально объясняете.
Гоша - вы топ преподаватель, все по делу, четко, понятно.
Спасибо за уроки, все подробно и понятно!!!
Спасибо за урок, всё очень интересно и понятно.
Спасибо. Очень полезный и простой урок.
Актуальные уроки, как всегда. Спасибо!))
Невероятно просто , очень хорошо доносите информацию . Спасибо большое , что вносите вклад
Очень все подробно, понятно и интересно! Спассибо большое, в особенности за отдельные фишечки :)
Молодец Автор! Отличные уроки. Прекрасное руководство к действию от глубоко понимающего тему преподавателя и одновременно практика. Браво
ne mogu poniat sarkazm eto ili net, XD
@@user-lk6dw4fd2b ya dumay v komentah kucha botov
@@amonniyvii9226 ahahahha vozmojno, esli ty imel vvidu nubov v etoi oblasti, esli tak to etot rolik im realno horosho pomojet
@@amonniyvii9226 no poidee oni nuby v celom i tolo nachinaut uchitsa, a dlya menya winforms prosto dlya proekte v unike bylo
Спасибо за классный урок🌸
Спасибо за видео, все четко и ясно!
Теперь знаю по каким видосам я буду делать курсовую) Спасибо
Очень хороший гайд, молодец!
Спасибо. Все просто и понятно.👍👍👍
Спасибо автору)
Очень полезное видео!!! Спасибо огромное!
Какое отличное видео! Просто и понятно изложено)
Очень познавательное видео помогло с задачей.
Спасибо большое
Гоша, сделаешь в будущем подобные уроки по WPF?
Буду очень благодарен
Отличный урок ! Все продумано изложено очень прост . Спасибо товарищ , так держать !
Спасибо!
Спасибо бро
Конечно много лишнего текста, но в общем и полезного много. Спасибо, удачи тебе, продолжай.
Можно ли изменять настройки нескольких объектов одновременно? Например, поменять цвет всех выделенных лейблов разом
На 38 минуте вопрос. Почему просто не прописать passwordField.Size = loginField.Size; ?
спасибо
Кому интересно - код перетаскивания окна за любой элемент (писать в событие MouseDown выбранного элемента):
"имя_компонента_указанное_в_поле_разработка".Capture = false;
Message m = Message.Create(Handle, 0xa1, new IntPtr(2), IntPtr.Zero);
WndProc(ref m);
У меня Capture как ошибка показывает...😭
гений 😘
@@suzansuzan2779 кавычки
Про Андроид урок хотим, продолжайте Андроид уроки пожалуйста
Ты. Лучший! Не могу поверить что я немного знаю c#!!!
Правда прийдется смириться с тем что мне надо будет после того как я запускаю смотреть на ошибку и понимать что я не расставил точки с запятой. Обдолбаные привычки из python.
Для чего мы создаём panel1, если можно сразу залить фон формы цветом?
39.09 почему AutoSize не дается в качестве подсказки ?
Классные уроки, но с дизайном у тебя беда. =)
Да, но он просто старается показать все понятным для начинающих
Что тебе мешает добавить в свою программу свой дизайн?
@@nitiwayn8207 моя беда с дизайном! 😁
Грузите вдурку!
@@andreacaldoni5689 ахахаха, а мне моя)
39:37 че-то не понял, в какой момент мы меняли видимость символов в окне ввода паролей? Чтобы они были кругляжками
ГОША ТЫ СПАС МНЕ ЖИЗНЬ
49:24. Чтобы реализовать перетаскивание окна за верхнюю панельку - нужно продублировать события mouseDown и mouseMove не в саму панельку, а в её Label, ибо в результате его позиционирования, технически он перекрывает собой всю эту панельку.
я продублировал эти действия в Label, но так программа не захотела перетаскивать окно а начала глючить и метаться со стороны в сторону..
Если кто сможет это объяснить и помочь решить данную проблему буду очень благодарен :)
39.30 поле loginField вроде поменьше в высоту чем passwordField, хотя значения установлены равные.. как так? Или же меня глаза подводят? А на 40.20 размер passwordField снова меньше.
Можешь сделать курс C++Builder Community Edition
39:25 а ниче что по высоте они все же отличаются
Гоша привет! Уроки у тя разные а сам вообще чем занимаешься веб или gamedev
Хотим WPF! Требую уроки еще и по нему:)
Чтобы не дублировать код для перетаскивания окна по нажатию на разные элементы, создадим функцию MoveWindow_MouseMove и StartMoveWindow_MouseDown
И просто пропишем эти функции в событиях нужных нам элементов
У меня получилось автоматом прописать MouseMove и MouseDown
private void Form1_Load(object sender, EventArgs e)
{
// присвоим всем контролам на форме обработчики событий
foreach (Control ctrl in this.Controls)
{
ctrl.MouseDown += Form1_MouseDown;
ctrl.MouseMove += Form1_MouseMove;
}
}
@@dimontipper8599 тоже вариант, главное чтобы разделять, на каких элементах нужны эти функции, а на каких не нужно их использовать
@@stukalovplay72 по компонентам лежащих на форме и имеющих обработчики MouseDown и MouseMove, к примеру за Panel перемещение будет, а вот за кнопку размещенную на Panel уже не цепляет. Наверно проще ручками подключиться к этим двум обработчикам на нужных компонентах.
Здравствуйте. При подключении к БД ( в этом месте if (connection.State == System.Data.ConnectionState.Closed)
connection.Open();) выходит следующая ошибка:
MySql.Data.MySqlClient.MySqlException: "SSL Connection error."
SocketException: Программа на вашем хост-компьютере разорвала установленное подключение
Изначально это исключение было создано в этом стеке вызовов:
[Внешний код]
Подскажите, пожалуйста, как исправить
Как ты справился, и при включённом MultiLine смог использовать "UseSystemPasswordChar" = true?
Спасибо за наглядный урок! :)
У меня при перемещении окно приложения сильно мерцает, в то же время у Вас плавно все. Написал все точь-в-точь, что и Вы. Есть идеи, почему так происходит? Спасибо!
Все, разобрался :)
@@Unrealchik В чем причина была? Хотя уже, наверное, и не помнишь)
Я походу пропустил момент как ты установил в поле пароля звездочки?? как поменять буквы на звездочки?
3:50 почему вместо панели нельзя задать просто фон для формы?
У меня только вопрос к паролю, у меня не отображаються точки, в поле ввода пароля
а где вы объявили ластпоинт
я потратил на урок пару дней. С# для меня новый язык. Я понял почему не сразу понял суть . Сначала нужно было оформить Void MainPanel1_MouseDown а потом mouseMove/ При таком раскладе мы сначала получаем координаты а потом их используем.
Тоже уже второй раз повторяю все шаги, это окно не перетаскивается...пошла искать у других подсказку на это... ах мои нервы нервы...
Я так понимаю, у многих проблема с картинкой и ее вставкой. Картинка добавляется в свойство Image а не в InitialImage.
А как сделать бинды для создания горячих клавиш в приложении?
Понимаю, что опоздал с комментами, но все же при запуске приложения оно у меня начинает самостоятельно убегать от мыши. Уже несколько раз переписал последнюю часть, а воз и ныне там. Help, me! Все разобрался, все дело было в одной ;
У Вас голос похож на Ивангая)) А так спасибо большое за уроки!
при попытке переместить окно в другое место на мониторе, оно сЪезжает резко вниз и исчезает
господи, comic sans это просто ад, хочется глаза вырвать XD
Еще и цвета вырвиглазные, дизайн явно не твое, но спасибо что хоть показал)
когда добавляю строку:
this.passfield.autosize = false;
то выдает ошибку:
CS1061 "TextBox" не содержит определения "autosize", и не удалось найти доступный метод расширения "autosize", принимающий тип "TextBox" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
разобрался)
Я код написал точно как в видео показано, но панелька у меня перемещается таким образом, что когда с левой стороны мышка ее касается, она дви гается вправо и в другую сторону ее подвинуть можно только после зажатия левой кнопки мышки. Получается, что чтобы мышка попала в панель и не двигала ее надо только с правой стороны мышку заводить. Подскажите пожалуйста, в чем проблема?
оказывается я вообще не могу мышку на панель завести
у меня почему то не создаётся функция при двойном нажатии на текст
Где у textbox свойство autosize?? Выбивает ошибку Ошибка 1 "System.Windows.Forms.TextBox" не содержит определения для "Autosize" и не был найден метод расширения "Autosize", принимающий тип "System.Windows.Forms.TextBox" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку)
работаю в visual c# 2010 express
AutoSize, а не Autosize
А как можно сделать GUI приложение на С++ без фреймворков? Ну с помощью библиотек...
winapi, но сейчас оно вроде не очень популярно
скажіть будь ласка як використати символи юнікода замість кружечків там де пароль
Сделал все как на видео, но форма может перемещаться только вправо и влево, а вверх и вниз не хочет. С чет это может быть связано?
значения x и y не поменял.Присмотрись,увидишь ошибку
this.Top += e.Y - lastPosition.Y;
Привет Гаша, расскажи как работать в Visual Studio на Python очень интересно.
python так себе
@@nonameforest9923 все языки по своему хороши, нет языка который был бы топ во всем, или говном везде.
Все прекрасно объяснено кроме одного момента) как ты разрешил проблему с отображением пароля?)
MultiLine убери)
@@user-sl2fb7yb2b У меня та же проблема, делал все как на видосе, сначала не заметил, что MultiLine включена. Потом выключил, все равно пароль при вводе виден. Как сделать так, чтобы его не было видно ? Очень хочу в этом разобраться, но не получается.
38:10, а не проще обратиться к высоте loginfield, так же как к ширине passField, а не мерить пиксели, которые к тому же могут потом измениться?
p.s код такой: this.passField.Size = new Size(this.PassField.Size.Width, this.loginField.Size.Height);
там вообще не надо было костылять просто в текстбокс с паролем нужно назначить свой символ)))
Когда я зажимаю у меня форма просто в верх улетает!
У меня почему не такой большой выбор свойств и событий объекта. Например, отсутствует MouseDoubleClick. да и вообще половины событий Mouse нет как в видео.
Что делать? При запуске программы у меня окно плохого качества!
Не работает закрытие на кнопку (закрыть) что делать?
С третьего раза сделал! Два предыдущих проекта запорол антивирус.
Хах! Жизненно!)
Что ещё остались люди использующие антивирусы?)) Всю жизнь сидел на Nod32, уже давно без антивирусника сижу, никаких проблем нет
При импорте изображения выдет ошибку. Вообще никак не получается импортировать изображение
up
Как приконектить Microsoft SQL server management studio ???????????????????????
Кто нить может выложить код из урока? пожалуйста
Зачем два события описывать на мышь? Есть же событие Hover - написал один раз цвет и всё. (Hover = Enter + Leave)
Вроде все за тобой повторяю, но на кнопки/строки для ввода не могу нажать
подскажи через какую программу ты это делаешь
Visual studio
@@sovalook319 у меня есть такая же прого но название такое Visual studio code
и оформление другое
@@sovalook319 и ты хорошый програмист?
есть дискорд?
@@sovalook319 можешь помочь сделать бота
Нет, я только 2й курс, такой же сыщик нормальных видео уроков
Ты помог поей программе скамеру стать лучше. СПАСИБО (;⌣̀_⌣́)
а по другому (this.left+=e.X - laspoint.X) => (this.left=this.left + e.X - laspoint.X) ?????
у меня картинки в папку images не перетаскиваются
Что делать?Сделал по инструкции всё работает, но когда навожу на приложение оно начинает уползать вниз, при этом никаких ошибок не выдаёт.Кто знает подскажите пожалуйста
Одна фраза, НАУЧИТЕСЬ ГУГЛИТЬ!
параметр X во второй строке замени на Y :)
жаль что некоторые действие не работает на Visual Studio 2012
А почему за заголовок нелбзч переьасктвать?
15:20 - добавить логотип
а поле пароля чуть выше, но уроки все равно классные
Comic Sans - красивый шрифт, лол.
дизайнеры достали веревки и мыло..
да и не только дизайнеры..
Открою секрет: глупо оценивать "красоту" конкретной вещи, особенно в дизайне. Всё решает совокупность объектов и если они гармонируют - даже самый дубовый шрифт будет выглядеть эстетично, лол.
У кого не принимает png формат, используйте ico (Конвертируйте прост)
Большое спасибо. 2 часа не мог решить проблему, выдавало ошибку, а твой комент помог. Лучший!!!
С цветом у тебя не оч, но ты самый КЛАССНЫЙ программист.
Гоша не успел рассказать про конструктор формы :
public LoginForm()
{
InitializeComponent();
}
Конструктор формы выглядит примерно вот так.
я тупо перед там как дойти до самого кода выключения написал `Application.Exit()` :D
Здравствуйте! Уроки классные! Но............ первый раз создал форму для авторизации и у меня Касперский удалил файл проекта с расширением .exe, я сделал вторую форму и у меня Касперский опять удалил файл exampleAppSQL.exe и выскакивает окно: файл удалён лечение невозможно!
В оповещениях посмотрел, обнаружен троян в exampleAppSQL.exe. Первый раз тоже была какая то вредоносная программа обнаружена после того, как я удалил блоки обработчиков событий и в дизайнере кода удалил строки с ошибками.
Это совпадение или я что то не так делаю?
Доброго времени суток, интересно почему сначала разрабатывается дизайн? Ведь изначально необходимо спроектировать систему, создать БД, подключать ее, а уж потом заниматься дизайном. Посмотрел оба урока, и только в конце 2ого видео началось программирование. Ожидал конечно другого.
потому что это просто вводные занятия, зачем вы смотрите вводные занятия, если вы уже обладаете какими-то базовыми знаниями, которые предоставляются в данном уроке?
@@OmgFiny учить надо изначально правильно, разве нет?
Maxim Isaev покажите как правильно :)
@@OmgFiny не имел дело с вф, хотел познакомиться
А лучше юзайте PyQt xD Так как в данном видеоролике про программирование, логично, что программирования вы не найдёте)
Можно просто без this оставить close😤😘
Шёл 2019 год, канал 400к+ делает видео по создания окна авторизации на winForms. Понимаю.