Вы один из тех немногих учителей, которые ОБУЧАЮТ, а не льют всякую фигню в уши, ваши уроки хочется смотреть и скорее всего, многие после просмотров ваших видео станут хорошими специалистами
В 15 лет прекрасно понимаю твои видео в отличии от других нудных курсов! Написав программу на 8 уроке уже вижу результат! Именно из-за этого всем советую смотреть тебя!
Уж сколько раз я пытался изучать шарп - все безуспешно. А тут прям норм заходит. Кстати отличие вариантов if(MessageBox.Show()==DialogResult.Ok) и полноразмерного с переменной result можно представить по аналогии с: Приходишь за пивасом на разлив. В первом случае подставляешь голову под кран и наливаешь в рот пиваса, уходишь довольный , руки свободные, ниче не надо таскать но если захочется повторить то придется переться снова в наливайку. Во втором случае уже наливаешь баклажку, не так удобно но можно повторить процедуру в любой момент. Переменную можно использовать далее по коду еще раз. Ну в общем, как-то так...
огромное спасибо за ваши обучающие видео. вы даже не представляете как помогли. я студент, учусь на очно-заочном и нам поставили предмет по си шарпу. но препод вообще ничего не объясняет. он почему-то думает что мы должны всё знать и просто кидает нам методичку на стол и грит выполняйте лабы. там ничерта не понятно, несколько пар сидел тупил, пока на этот курс не наткнулся) в итоге затащил, сдал все лабы, скоро вот экзамен. ещё раз спасибо!
Большое спасибо всё понятно , ребята которые коменты читают не ленитесь практиковаться и если что то не понятно лучше пересмотрите еще раз видео и разберитесь!
@@XpucT Неее то совсем не то, одно дело потоки по отдельности, а совсем другое многопоточность, как себя ведут потоки, как запускаются, как указать чтоб сразу запустилось 100 потоков, и так далее... Такого нету, я вчера смотрел то видео про потоки. Так что пожалуйста сделай видео про многопоточность)
Всегда юзал перемещение на кнопку по умолчанию) Ибо когда удаляешь, через shift+del требует подтверждения, мышка автоматом на кнопку да перемещается. Классно))
вообще очень полезно читать непосредственно документацию майкровофта по каждому классу, методу или типу данных. Я два дня string мусолил таким образом, ни с одним уроком не сравнится.
Еще можно сделать событие появления окна по маусоверу, чтобы пользователь вообще обленился и не тратил ккал на движение мыши ^_^ Как обычно- круто, лайк
@@XpucT Хотелось бы узнать у вас как у человека образованного в этой сфере,почему на просторах youtube толком нет видео о работе C# с d3d9 ? Слыхал о том что C# плохо подходит для таких задач и стоит работать с directx на том же С++ (но признаюсь честно C# мне как язык программирования намного больше нравиться и учить С++ особого желания нет),я просто интересуюсь хакингом и что бы продвинуться дальше,мне надо научиться работать с d3d9,отрисовкой окна поверх игры и выводом нужных мне данных на это окно. Можете что-либо посоветовать?
@@brainfood6580 на самом деле тут дело не в C#, а в библиотеках, с которыми нужно работать. Если кто-то говорит, что C# не подходит для этого, это значит, что он не в курсе, что такое вообще C#. Правильно заданный вопрос: какая именно платформа будет удобнее на C#. И тут два варианта: 1) Windows Forms и его устаревший GDI, 2) WPF и его оптимальный и быстрый DirectX. Поэтому тут нужно задаваться вопросом платформы. Вам нужно смотреть в сторону WPF. Но если уроки по нему и будут у Меня на канале, то только после полного мастер-класса по Windows Forms и C# в целом. Если нет времени ждать, то начните с обучения ЦЗАю Он не то, что дружит с DirectX. Он ради него и создавался и это единственное глобальное отличие от Windows Forms. Если нужно на Windows Form создать чит, то придётся попотеть, но сделать всё равно можно. Начните гуглить разницу GDI и DirectX. В чём базовое отличие Windows Forms от WPF. Это и будет ответ на вопрос. Каким боком тут уродливый C++ вообще не понятно. Оба языка можно считать равными, как и Phyton и JS. На чём хочешь, на том рисуешь. Другой вопрос, что для JS нужен framework грубо говоря - целый браузер на 100 мегабайт, для С++ нужны Visual C++ Redistributable, для C# нужен .NET Framework. И уже имея C#, .NET Framework и WPF в качестве платформы для UI, уже полпути пройдено. Далее нужно просто кодить. DirectX придётся подучить и узнавать как и что брать. Простой вопрос записи экрана на C# оказывается не такой уж и простой и всё потому что нужно знать, как подключаться. А у Вас Я так понял чит планируется. Нужно учиться на других проектах или изучать всё самому.
Спасибо , очень доходчиво. Только вот один вопросик образовался: private void button1_Click(object sender, EventArgs e) { if (textBox1.Text != oldpass) { label3.Text = textBox1.Text == textBox2.Text ? $"Ваш пароль {textBox1.Text}{MessageBox.Show("Пароль успешно сохранен", "Hello")}" : "Пароли не совпадают"; } else { label3.Text = "Старый и новый пароль совпдают"; } \\Второй вариант if (textBox1.Text != oldpass) { if(textBox1.Text == textBox2.Text) { MessageBox.Show("Пароль успешно сохранен", "Hello"); label3.Text = "Ваш новый пароль: " + textBox1.Text; } else { label3.Text = "Пароли не совпадают"; } } else { label3.Text = "Вы ввели старый пароль"; } Почему в случае использовании интерполяции $"Ваш пароль {textBox1.Text}{MessageBox.Show("Пароль успешно сохранен", "Hello")}" , он возвращает в label3.Text "OK" ?
Потому что label3.Text - это свойство string и нельзя, чтобы он был равен чему-то кроме string. У Вас там в интерполяции целый MessageBox. По идее, студия вообще не должна была позволять так собрать проект. Вы нашли новый баг =)
Приветствую ув. Хачатур подскажи пожалуйста? ты на 9.50 минуте говоришь, что MessageBox не может быть присвоен к string, int, а только к DialogResult. а откуда ты точно знаешь что только к DialogResult? а точнее, как понимать/знать , во что можно , а во что нельзя загонять? спасибо
Привет 🖐 Приведу пример. label1.Text = "Привет!"; Выше происходит операция присваивания "Привет!" свойству label1.Text. .Text - является свойством, которое относится только к строкам (string) Сама запись "Привет!" также текстовая и также относится к string. Соответственно "Привет!" можно присвоить текстовому свойству label1. Если попытаться сделать label1.Text = 123; Получится ошибка, т.к. 123 - это цифры (тип данных int). "123" - это уже строка с цифрами, т.к. тут кавычки. И вот так уже можно ➜ label1.Text = "123"; Соответственно у MessageBox можно проверить только то свойство, к которому он относится. А это DialogResult.
@@user-wu-tang чтобы знать заранее какое у кого свойство просто наведите мышь на любую переменную. Посмотрите во всплывашке какой там тип данных. Можно даже на своих переменных.
Хачатур, я тут заметил, что когда ты стираешь строку кода, то у тебя стрелочка остаётся на той же строке и ты можешь по новой писать код в ней, у меня же когда выделяю так же как и ты строку кода и нажимаю "Backspace", стрелочка улетает на строку выше и приходится нажимать "Enter", чтобы он вновь перепрыгнул на строку которая мне нужна. Как ты это делаешь?
Главный закон еврея: Если что-то даётся халявно - бери. Также и тут (16:10), если добавили - юзай иначе смысла в добавлении этого нет. Есть такая украинская пословица: дають - бери, б'ють - тікай (дают - бери, бьют - беги).
@@XpucT Я к чему свой вопрос задавал - к тому, что вначале процесса изучения, пока мышление обладает еще гибкостью, это гораздо проще освоить. А когда человек привыкнет в теле обработчика клика по кнопке писать кучу логики - его хер отучишь потом.
Подскажи пожалуйста, пытался поэкспериментировать и сократить выражение тернарным оператором следующим образом: private void button1_Click(object sender, EventArgs e) { DialogResult result = MessageBox.Show("Ну как, подумал?","Я устала ждать",MessageBoxButtons.YesNo,MessageBoxIcon.Question); result == DialogResult.Yes ? "Отлично!" : "Плохо:("; } На что компилятор выдал "Ахтунг!!!", подскажи пожалуйста почему так сделать нельзя и в чём ошибка?
Как мне изменять данные в messageBox в динамическом режиме? Например я пишу таймер, и я хочу в messageBox-е постоянно изменять данные в одном уже открытом messagebox-e
Увы, MessageBox такого не поддерживает. Чем больше сидишь с кастомизацией, тем быстрее приходишь к выходу, что MessageBox нужно менять на свою форму. Создать некую заготовку-аналог MessageBox и крутить его как угодно и прокачать его, как угодно 👍
Здравствуйте! Я, можно сказать, новичок в c# и мне в школе необходимо сдать проект. Урок был полезным, спасибо вам, но у меня есть вопрос: можно ли по клику yes открыть в новой форме картинку? стоит ли это реализовывать НЕ через MessageBox, т.е. чтобы сразу по клику открывались картинки. Суть моего проекта: есть несколько CheckBox'ов, пользователь выбирает то, что ему нужно, и уже основываясь на этом, ему выдавали картинки. Был бы несказанно рад и благодарен Вам, если ответите.
Добрый день 🖐 Если чекбоксов несколько, то нужно открывать несколько форм? И в каждой картинка? И вопрос про MessageBox не понял. Причём тут он? Перед уточнением, пожалуйста, прочтите, что написали 👍
@@XpucT Вы в данном видеоуроке объяснили, что при нажатии на кнопку, вылезает MessageBox (Да, Нет). Ну так вот, при нажатии на Да, выходит картинка, которая соответствует критериям, указанных в CheckBox. Можно ли это реализовать?
К чему были эти упрёки в адрес разрабов винды? 16:26 Всё же корректно отработало согласно вашему же написанному коду. --- DialogResult.OK != DialogResult.Yes (поэтому сработал "else"). DialogResult.Cancel != DialogResult.Yes (поэтому сработал "else").
А вы внимательно ещё раз послушайте и как бы опыта что ли наберитесь, если ещё неизвестно, что в Microsoft реально сидят просто кодеры-рукожопы. Умом там не пахнет. Противоречия постоянные, что доказывают бесконечные баг-фиксы. Ответил на вопрос?
@@XpucT , так DialogResult ведь простое перечисление (Enum). Его в любом месте кода можно написать при желании. Или по-вашему следовало бы создать отдельные классы DialogResultXXX под каждый тип диалога?
Спасибо за интересное и понятное видео :) Можно ли сделать так, чтобы при появлении бокса нигде нельзя больше было нажать, пока не нажмёшь на кнопку в нем? Т.е пока не дашь свой “ответ” боксу все остальные действия блокируются. Некоторые MessageBox’ы-ошибки в Windows 10 так работают. Заранее спасибо.
Примерно на 15:50-16:00 минуте вы сказали что в этом коде if (MessageBox.Show("Вы уверены?","Вопрос", MessageBoxButtons.OKCancel, MessageBoxIcon.Question ==DialogResult.Yes)) { label1.Text = "Вы выбрали Да"; } else { label1.Text = "Вы выбрали Нет"; } происходит глюк винды и он выводит "нет". Но это условие не выполняется по скольку на кнопках MessageBox нет, ни да, ни нет по этому он сразу переходит в else и выводит нет
Спасибо за доходчивый и понятный курс! Но у меня возник вопрос, а как вывести данный бокс при закрытии программы. То, что нашел в гугле, почему то не работает(Form1_FormClosing)
Лучше повесить событие на нажатие закрыть, а не на событие фактического закрытия. Так как событие уже пошло, то не факт, что сработает. Поэтому лучше на кнопку Закрыть.
Как можно сделать, чтобы message box растягивался в зависимости от ширины макс строки, входящей в него? Только если самому считать, и подставить в свойства?
Можете объяснить мне почему,я не могу сокращенно вызвать MessageBox.Show()? Погуглив нашел только такой вариант : System.Windows.Forms.MessageBox.Show. Так скажем полный путь к этому MessageBox
@@XpucT До этого,я уже минут через 5 допер :< Потому что не знал, за что какая директива отвечает. Только после создания 2 формы и ее исх-кодом,проверил свою
Почему подсказки у вас на русском языке вылезают, а у меня они на английском, но меню на русском? Чего таково вы сделали? Видео очень полезное, спасибо.
@@XpucT Средства => Получить средства и компоненты => Отдельные компоненты=> пакет SDK для NET.Framework ? у меня последняя версия 4.8.1, обновился до неё, но подсказки на русском не появились. Или не там ищу?
@@XpucT Спасибо Брат! за видео кстати отдельный респект ! ты прям вернул интерес к изучению, не смотря на то что пропускаем много базовых вещей (Идем не по порядку) зато интерес на высоте, надеюсь порядок со временем в голове выстроится...
@@АлексДжаванов порядок как раз выстроен правильно в отличие от того, что в книгах и метанитах. Люди научиться не могут по порядку "правильному", потому что слишком много вопросов "зачем". Я всегда придерживаюсь такой хронологии, чтобы в любой момент мог ответить на вопрос "зачем". Книги и прочие туториалы отстают в этом на 90%. Отсюда и ответ - почему из сотен ВУЗов и десятков тысяч выпускников мы не видим российский софт. Видим, но не столько, сколько выпускников. Юристов видно, бухгалтеров видно, машинистов даже и поваров. А кодеры где? Вот именно, изучили иксы и игрики, сидят исадминами или джунами годами, своего ничего нет. А нет, потому что нет фантазии, азарта, порядка и плана. В Моём курсе уже продумана идея, последовательность и мотивация. Комменты, как видишь, читаю и вижу отовсюду и уже более 10 человек написали свои полноценные программы. Вузы за 5 лет такого не выдают. И дело не в том, что Я такой молодец. Дело не столько во Мне, сколько в порядке. После Меня проще читать книгу. А после книги смотреть Меня кажется вообще атас вслепую всё понятно. Короче Уроки не вышли бы, если бы не понимал, что туториалов-то нормальных нет. Отличный пример, за которым далеко ходить не нужно - это WPF. В двух словах - это паутина. И тут даже Я не знаю до сих пор, как начать это преподавать. Реально очень запутанно. Самый главный критик для Меня - это вопрос "зачем". И вот с WPF намного сложнее порядок найти. Ну, а то, что в книгах и интернетах сейчас... ну-ну, как говорится. Это как Windows 7, которая настолько подходит всем, что Ты хоть что с десяткой делай, говна и абсурда там больше, чем в 7.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace MassegaBix { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { button1.Text = "Нажать"; } private void button1_Click(object sender, EventArgs e) { DialogResult str = MessageBox.Show("Согласны ли вы удалить вредоносный софт", "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (str == DialogResult.Yes) { File.Delete(@"C:\Users\ferli\Desktop\sad.cmd"); } else { DialogResult og = MessageBox.Show("Вы отказались от удаления вредного софта,мы отказываемя от ответственности!", " Удалить вредоносную программу ", MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning); if (og == DialogResult.Retry) { File.Delete(@"C:\Users\ferli\Desktop\sad.cmd"); } }
Вы один из тех немногих учителей, которые ОБУЧАЮТ, а не льют всякую фигню в уши, ваши уроки хочется смотреть и скорее всего, многие после просмотров ваших видео станут хорошими специалистами
Спасибо, Миша 🖐
Классные уроки. Хорошо что я нашел эти уроки во время. Спасибо тебе огромное. Здоровья тебе и мир твоему дому
смотрю из 2023 года. Респект. Всё по полочкам! Буду смотреть все ролики с самого начала, ибо курсы за 50К нифига не дали. (
Замечательные уроки! Спасибо вам!)😉
ОГРОМНОЕ ВАМ СПАСИБО ЗА ВАШ ТРУД!!!
В 15 лет прекрасно понимаю твои видео в отличии от других нудных курсов! Написав программу на 8 уроке уже вижу результат! Именно из-за этого всем советую смотреть тебя!
Красавчик ☝
Мастерство преподавания, у Вас лучшие уроки 👏
Уж сколько раз я пытался изучать шарп - все безуспешно. А тут прям норм заходит.
Кстати отличие вариантов if(MessageBox.Show()==DialogResult.Ok) и полноразмерного с переменной result можно представить по аналогии с:
Приходишь за пивасом на разлив. В первом случае подставляешь голову под кран и наливаешь в рот пиваса, уходишь довольный , руки свободные, ниче не надо таскать но если захочется повторить то придется переться снова в наливайку. Во втором случае уже наливаешь баклажку, не так удобно но можно повторить процедуру в любой момент. Переменную можно использовать далее по коду еще раз. Ну в общем, как-то так...
огромное спасибо за ваши обучающие видео. вы даже не представляете как помогли. я студент, учусь на очно-заочном и нам поставили предмет по си шарпу. но препод вообще ничего не объясняет. он почему-то думает что мы должны всё знать и просто кидает нам методичку на стол и грит выполняйте лабы. там ничерта не понятно, несколько пар сидел тупил, пока на этот курс не наткнулся) в итоге затащил, сдал все лабы, скоро вот экзамен. ещё раз спасибо!
😇
спасибо за качественный материал
Большое спасибо всё понятно , ребята которые коменты читают не ленитесь практиковаться и если что то не понятно лучше пересмотрите еще раз видео и разберитесь!
Большое спасибо за уроки!!!
Как всегда-четко!
Огромное Вам спасибо!
Как всегда доходчиво. лайк и спасибо
В открывающей скобке нажимаете CTRL+SHIFT+Пробел и так же выходит подсказка о допустимых перегрузках метода. Так лучше, чем писать запятую внутри
Красава Христ) Спасибо за уроки, ставлю лайк) не забудь пожалуйста про многопоточность нам рассказать...
Уже есть такой урок ;)
@@XpucT Неее то совсем не то, одно дело потоки по отдельности, а совсем другое многопоточность, как себя ведут потоки, как запускаются, как указать чтоб сразу запустилось 100 потоков, и так далее... Такого нету, я вчера смотрел то видео про потоки. Так что пожалуйста сделай видео про многопоточность)
@@samson9438 не пойму в чём проблема указать сразу все асинхронные методы в Parallel.
Все а отдельных потоках и все одновременно.
@@XpucT Паралельные потоки, и многопоточность, это немного разные вещи) И работают они по разному.
Спасибо , очень доходчиво .
Всегда юзал перемещение на кнопку по умолчанию)
Ибо когда удаляешь, через shift+del требует подтверждения, мышка автоматом на кнопку да перемещается. Классно))
От души спасибо
вообще очень полезно читать непосредственно документацию майкровофта по каждому классу, методу или типу данных. Я два дня string мусолил таким образом, ни с одним уроком не сравнится.
Еще можно сделать событие появления окна по маусоверу, чтобы пользователь вообще обленился и не тратил ккал на движение мыши ^_^ Как обычно- круто, лайк
Да это прям про меня!
Благодарю 🙂
Когда вернётесь с новыми обучающими видео?
Уж очень нравиться именно ваша подача и методика обучения.
Вернусь, как закончу сам с программой. Работаю над сложным алгоритмом.
@@XpucT Хотелось бы узнать у вас как у человека образованного в этой сфере,почему на просторах youtube толком нет видео о работе C# с d3d9 ?
Слыхал о том что C# плохо подходит для таких задач и стоит работать с directx на том же С++ (но признаюсь честно C# мне как язык программирования намного больше нравиться и учить С++ особого желания нет),я просто интересуюсь хакингом и что бы продвинуться дальше,мне надо научиться работать с d3d9,отрисовкой окна поверх игры и выводом нужных мне данных на это окно.
Можете что-либо посоветовать?
@@brainfood6580 на самом деле тут дело не в C#, а в библиотеках, с которыми нужно работать.
Если кто-то говорит, что C# не подходит для этого, это значит, что он не в курсе, что такое вообще C#.
Правильно заданный вопрос: какая именно платформа будет удобнее на C#. И тут два варианта: 1) Windows Forms и его устаревший GDI, 2) WPF и его оптимальный и быстрый DirectX. Поэтому тут нужно задаваться вопросом платформы. Вам нужно смотреть в сторону WPF. Но если уроки по нему и будут у Меня на канале, то только после полного мастер-класса по Windows Forms и C# в целом. Если нет времени ждать, то начните с обучения ЦЗАю Он не то, что дружит с DirectX. Он ради него и создавался и это единственное глобальное отличие от Windows Forms. Если нужно на Windows Form создать чит, то придётся попотеть, но сделать всё равно можно.
Начните гуглить разницу GDI и DirectX. В чём базовое отличие Windows Forms от WPF. Это и будет ответ на вопрос. Каким боком тут уродливый C++ вообще не понятно. Оба языка можно считать равными, как и Phyton и JS. На чём хочешь, на том рисуешь. Другой вопрос, что для JS нужен framework грубо говоря - целый браузер на 100 мегабайт, для С++ нужны Visual C++ Redistributable, для C# нужен .NET Framework. И уже имея C#, .NET Framework и WPF в качестве платформы для UI, уже полпути пройдено. Далее нужно просто кодить. DirectX придётся подучить и узнавать как и что брать. Простой вопрос записи экрана на C# оказывается не такой уж и простой и всё потому что нужно знать, как подключаться. А у Вас Я так понял чит планируется. Нужно учиться на других проектах или изучать всё самому.
Спасибо , очень доходчиво. Только вот один вопросик образовался:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != oldpass)
{
label3.Text = textBox1.Text == textBox2.Text ? $"Ваш пароль {textBox1.Text}{MessageBox.Show("Пароль успешно сохранен", "Hello")}" : "Пароли не совпадают";
}
else
{
label3.Text = "Старый и новый пароль совпдают";
}
\\Второй вариант
if (textBox1.Text != oldpass)
{
if(textBox1.Text == textBox2.Text)
{
MessageBox.Show("Пароль успешно сохранен", "Hello");
label3.Text = "Ваш новый пароль: " + textBox1.Text;
}
else
{
label3.Text = "Пароли не совпадают";
}
}
else
{
label3.Text = "Вы ввели старый пароль";
}
Почему в случае использовании интерполяции $"Ваш пароль {textBox1.Text}{MessageBox.Show("Пароль успешно сохранен", "Hello")}" , он возвращает в label3.Text "OK" ?
Потому что label3.Text - это свойство string и нельзя, чтобы он был равен чему-то кроме string.
У Вас там в интерполяции целый MessageBox. По идее, студия вообще не должна была позволять так собрать проект.
Вы нашли новый баг =)
@@XpucT Понял, принял. Спасибо!
в Show после запятой выходит список, однако описание на англ., как сделать на русский??? Подсказки Свойств и Событий показывает на русском
Обновить NET Framework.
Спасибочки
Приветствую ув. Хачатур
подскажи пожалуйста? ты на 9.50 минуте говоришь, что MessageBox не может быть присвоен к string, int, а только к DialogResult. а откуда ты точно знаешь что только к DialogResult? а точнее, как понимать/знать , во что можно , а во что нельзя загонять?
спасибо
Привет 🖐
Приведу пример.
label1.Text = "Привет!";
Выше происходит операция присваивания "Привет!" свойству label1.Text.
.Text - является свойством, которое относится только к строкам (string)
Сама запись "Привет!" также текстовая и также относится к string.
Соответственно "Привет!" можно присвоить текстовому свойству label1.
Если попытаться сделать label1.Text = 123;
Получится ошибка, т.к. 123 - это цифры (тип данных int).
"123" - это уже строка с цифрами, т.к. тут кавычки.
И вот так уже можно ➜ label1.Text = "123";
Соответственно у MessageBox можно проверить только то свойство, к которому он относится.
А это DialogResult.
@@XpucT спасибо большое
@@user-wu-tang чтобы знать заранее какое у кого свойство просто наведите мышь на любую переменную. Посмотрите во всплывашке какой там тип данных. Можно даже на своих переменных.
@@XpucT спасибо, вот это я спрашивал, скорее всего.
4:30 перечисление обозвали методом. Впринципе ничего страшного, но когда ты маслёнок, то ты такой ГДЕ СКОБОЧКИ? А?
Хачатур, я тут заметил, что когда ты стираешь строку кода, то у тебя стрелочка остаётся на той же строке и ты можешь по новой писать код в ней, у меня же когда выделяю так же как и ты строку кода и нажимаю "Backspace", стрелочка улетает на строку выше и приходится нажимать "Enter", чтобы он вновь перепрыгнул на строку которая мне нужна. Как ты это делаешь?
Здравствуйте! А как сделать так, чтобы когда человек пишет 1 в textBox1, то появляется сообщение "Ошибка! Введите другое число"?
Приветствую 🖐
Смотрите видео последовательно по плейлисту: th-cam.com/play/PL05SB3rBbUsraqiEUeS70RKhVAu97nGeb.html
Главный закон еврея: Если что-то даётся халявно - бери. Также и тут (16:10), если добавили - юзай иначе смысла в добавлении этого нет. Есть такая украинская пословица: дають - бери, б'ють - тікай (дают - бери, бьют - беги).
MVC, MVP + WinForms, MVVM + MVP, Reactive UI - про что-то из этого мы увидим уроки?
Может быть. Но сначала нужно как минимум язык изучить, потом уже думать, как им управлять.
@@XpucT Я к чему свой вопрос задавал - к тому, что вначале процесса изучения, пока мышление обладает еще гибкостью, это гораздо проще освоить.
А когда человек привыкнет в теле обработчика клика по кнопке писать кучу логики - его хер отучишь потом.
Лично я жду гайдика по экспорту пдф файлов.
Класс
Подскажи пожалуйста, пытался поэкспериментировать и сократить выражение тернарным оператором следующим образом:
private void button1_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Ну как, подумал?","Я устала ждать",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
result == DialogResult.Yes ? "Отлично!" : "Плохо:(";
}
На что компилятор выдал "Ахтунг!!!", подскажи пожалуйста почему так сделать нельзя и в чём ошибка?
DialogResult result = MessageBox.Show("Ну как, подумал?", "Я устала ждать", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
MessageBox.Show(result == DialogResult.Yes ? "Отлично!" : "Плохо:(", Text, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
@@XpucT Спасибо большое, всегда приятно когда вопросы не остаются без внимания
Как мне изменять данные в messageBox в динамическом режиме?
Например я пишу таймер, и я хочу в messageBox-е постоянно изменять данные в одном уже открытом messagebox-e
Увы, MessageBox такого не поддерживает.
Чем больше сидишь с кастомизацией, тем быстрее приходишь к выходу, что MessageBox нужно менять на свою форму.
Создать некую заготовку-аналог MessageBox и крутить его как угодно и прокачать его, как угодно 👍
@@XpucT спасибо, так и сделал 👍
Здравствуйте! Я, можно сказать, новичок в c# и мне в школе необходимо сдать проект. Урок был полезным, спасибо вам, но у меня есть вопрос: можно ли по клику yes открыть в новой форме картинку? стоит ли это реализовывать НЕ через MessageBox, т.е. чтобы сразу по клику открывались картинки.
Суть моего проекта: есть несколько CheckBox'ов, пользователь выбирает то, что ему нужно, и уже основываясь на этом, ему выдавали картинки.
Был бы несказанно рад и благодарен Вам, если ответите.
Добрый день 🖐
Если чекбоксов несколько, то нужно открывать несколько форм? И в каждой картинка?
И вопрос про MessageBox не понял. Причём тут он?
Перед уточнением, пожалуйста, прочтите, что написали 👍
@@XpucT
Вы в данном видеоуроке объяснили, что при нажатии на кнопку, вылезает MessageBox (Да, Нет). Ну так вот, при нажатии на Да, выходит картинка, которая соответствует критериям, указанных в CheckBox. Можно ли это реализовать?
@@lacrimosaw Можно что угодно реализовать. И само собой то, что Вы хотите =)
@@lacrimosaw www.upload.ee/download/11567387/a0c75a726da0172bdc79/WindowsFormsApp2.zip
К чему были эти упрёки в адрес разрабов винды? 16:26
Всё же корректно отработало согласно вашему же написанному коду.
---
DialogResult.OK != DialogResult.Yes (поэтому сработал "else").
DialogResult.Cancel != DialogResult.Yes (поэтому сработал "else").
А вы внимательно ещё раз послушайте и как бы опыта что ли наберитесь, если ещё неизвестно, что в Microsoft реально сидят просто кодеры-рукожопы. Умом там не пахнет. Противоречия постоянные, что доказывают бесконечные баг-фиксы. Ответил на вопрос?
@@XpucT, я не защищаю разработчиков MS. Конкретно к данной ситуации как это относится? Что именно было некорректно?
@@alex-and-er конкретно тут то, что допускается создать OkCancel при Yes.
@@XpucT , так DialogResult ведь простое перечисление (Enum). Его в любом месте кода можно написать при желании. Или по-вашему следовало бы создать отдельные классы DialogResultXXX под каждый тип диалога?
Слишком мало лайков для таких видео
Спасибо за интересное и понятное видео :)
Можно ли сделать так, чтобы при появлении бокса нигде нельзя больше было нажать, пока не нажмёшь на кнопку в нем? Т.е пока не дашь свой “ответ” боксу все остальные действия блокируются. Некоторые MessageBox’ы-ошибки в Windows 10 так работают. Заранее спасибо.
Именно так и работает MessageBox 👍
Дополнительно ничего не нужно.
super
Примерно на 15:50-16:00 минуте вы сказали что в этом коде
if (MessageBox.Show("Вы уверены?","Вопрос", MessageBoxButtons.OKCancel, MessageBoxIcon.Question ==DialogResult.Yes))
{
label1.Text = "Вы выбрали Да";
}
else
{
label1.Text = "Вы выбрали Нет";
}
происходит глюк винды и он выводит "нет". Но это условие не выполняется по скольку на кнопках MessageBox нет, ни да, ни нет по этому он сразу переходит в else и выводит нет
Пятёрка за внимательность. Далеко пойдёшь 👍
Спасибо за доходчивый и понятный курс! Но у меня возник вопрос, а как вывести данный бокс при закрытии программы. То, что нашел в гугле, почему то не работает(Form1_FormClosing)
Лучше повесить событие на нажатие закрыть, а не на событие фактического закрытия.
Так как событие уже пошло, то не факт, что сработает. Поэтому лучше на кнопку Закрыть.
@@XpucT Благодарю!
Хачатур, а как ты поставил угловые кавычки?
Punto Switcher
th-cam.com/play/PL0U1uvNv2tf6DduPOCc9-IGJjdVghlvo_.html
Как можно сделать, чтобы message box растягивался в зависимости от ширины макс строки, входящей в него? Только если самому считать, и подставить в свойства?
MessageBox, увы, не выйдет.Придётся самому писать форму.
Оно даже к лучшему.
Может кто подсказать как задать позицию месседж боксу на рабочем столе?
братец, Я, с тобой мамин - программист на дому) от души, за тебя перекрестился ☦☦☦, Аминь!
Можете объяснить мне почему,я не могу сокращенно вызвать MessageBox.Show()? Погуглив нашел только такой вариант : System.Windows.Forms.MessageBox.Show. Так скажем полный путь к этому MessageBox
Потому что Вы пропускаете уроки.
Я говорил, как добавлять директиву, чтобы не писать по сто раз их в начале классов.
@@XpucT В этом и суть,я подумал про директиву,попытался добавить через "Быстрое действие" эту директиву,но ничего не предлагало
@@АлексейКирсанов-т3я а если вручную в самый верх?
using System.Windows.Forms;
@@XpucT До этого,я уже минут через 5 допер :< Потому что не знал, за что какая директива отвечает. Только после создания 2 формы и ее исх-кодом,проверил свою
Почему подсказки у вас на русском языке вылезают, а у меня они на английском, но меню на русском? Чего таково вы сделали?
Видео очень полезное, спасибо.
Просто обновил SDK Framework, которые он предложил обновить.
Если не предлагает, перейдите в Средства и компоненты и там вручную укажите.
@@XpucT здравствуйте, а можно по подробнее где найти эти настройки?
@@sharpPunch верху Visual Studio.
@@XpucT Средства => Получить средства и компоненты => Отдельные компоненты=> пакет SDK для NET.Framework ?
у меня последняя версия 4.8.1, обновился до неё, но подсказки на русском не появились. Или не там ищу?
Хруст а можешь чуть подробнее что за панта свитч для быстрого переключения языка юзаешь ? можно просто название на английском)
Punto Switcher.
yandex.ru/soft/punto/
хрИст
@@XpucT Спасибо Брат! за видео кстати отдельный респект ! ты прям вернул интерес к изучению, не смотря на то что пропускаем много базовых вещей (Идем не по порядку) зато интерес на высоте, надеюсь порядок со временем в голове выстроится...
@@АлексДжаванов порядок как раз выстроен правильно в отличие от того, что в книгах и метанитах.
Люди научиться не могут по порядку "правильному", потому что слишком много вопросов "зачем".
Я всегда придерживаюсь такой хронологии, чтобы в любой момент мог ответить на вопрос "зачем".
Книги и прочие туториалы отстают в этом на 90%.
Отсюда и ответ - почему из сотен ВУЗов и десятков тысяч выпускников мы не видим российский софт.
Видим, но не столько, сколько выпускников. Юристов видно, бухгалтеров видно, машинистов даже и поваров. А кодеры где? Вот именно, изучили иксы и игрики, сидят исадминами или джунами годами, своего ничего нет. А нет, потому что нет фантазии, азарта, порядка и плана. В Моём курсе уже продумана идея, последовательность и мотивация. Комменты, как видишь, читаю и вижу отовсюду и уже более 10 человек написали свои полноценные программы. Вузы за 5 лет такого не выдают. И дело не в том, что Я такой молодец. Дело не столько во Мне, сколько в порядке. После Меня проще читать книгу. А после книги смотреть Меня кажется вообще атас вслепую всё понятно. Короче Уроки не вышли бы, если бы не понимал, что туториалов-то нормальных нет.
Отличный пример, за которым далеко ходить не нужно - это WPF. В двух словах - это паутина. И тут даже Я не знаю до сих пор, как начать это преподавать. Реально очень запутанно. Самый главный критик для Меня - это вопрос "зачем". И вот с WPF намного сложнее порядок найти. Ну, а то, что в книгах и интернетах сейчас... ну-ну, как говорится. Это как Windows 7, которая настолько подходит всем, что Ты хоть что с десяткой делай, говна и абсурда там больше, чем в 7.
@@XpucT спасибо христ!
Оказывается твой ник читается как Христ, а я думал что ты Хруст(((
Бывает =)
@@XpucT И ещё спасибо за твои офигенные уроки) Думаю я под каждым видео написал какой ты замечательный человек пхах)
@@f.social7186 это очень поможет продвижению видео, спасибо ♥
@@XpucT Я буду спамить коментами шоб твой канал продвинулся.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace MassegaBix
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
button1.Text = "Нажать";
}
private void button1_Click(object sender, EventArgs e)
{
DialogResult str = MessageBox.Show("Согласны ли вы удалить вредоносный софт", "Подтверждение", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
if (str == DialogResult.Yes)
{
File.Delete(@"C:\Users\ferli\Desktop\sad.cmd");
}
else
{
DialogResult og = MessageBox.Show("Вы отказались от удаления вредного софта,мы отказываемя от ответственности!", " Удалить вредоносную программу ",
MessageBoxButtons.RetryCancel, MessageBoxIcon.Warning);
if (og == DialogResult.Retry)
{
File.Delete(@"C:\Users\ferli\Desktop\sad.cmd");
}
}
}
}
}
В продакшн!