@@MetaJamm Видимо, мы с вами живём на разных западах. В моей стране атропины применяются массово, а польза янтарной кислоты ни у кого не вызывает сомнений или вопросов. Но всё равно спасибо за развёрнутый комментарий. Не поленились ведь.
Либо я не так понял пояснение про вызов base.OnPaint(e), либо Вы не правильно объяснили. Ключевое слово base используется для доступа к членам базового класса. То есть в нашем случае этой строчкой мы вызываем метод базового класса Button, а не саму себя вызываем..
Тоже планирую делать свои уроки. Есть библиотека платная с уже нарисованными контролами. Мы (я и какой то ютубер) делали свою бесплатную которая рисовала такие же но только бесплатные 1. У контрола должны быть свои методы которые можно менять в свойствах И тд и др. Спасибо за урок. Но я делал это
7:12 IntPtr hWnd это не void. Он принимает Handle окна, а точнее указатель на него. Чтобы передать функции родителя. То есть, если говорить коротко, функция MessageBox будет знать кто родитель у неё и если передать Handle текущей формы Form1, то будет отображаться как ShowDialog и не даст клацнуть по родительской форме.
Почему-то когда я попробовал перетащить эту кнопку в прогу, вылезло сообщение: *"Не удалось загрузить элемент [название элемента]. Он будет удален из набора инструментов."* И, собсна, кнопка удалилась из Панели элементов. Проблему решила кнопка *Сборка > Собрать решение, или Ctrl + Shift + B*
Так получается можно откуда угодно достучаться до любого окна, виртуально двигать мышкой, нажимать кнопки сделав такой примитивный "симулятор нахождения за ПК"?)))
Столкнулся с такой проблемой: код из видео строит кнопку с обрубленными углами, то есть она не чётко закруглённая, а пропадают некоторые пиксели у закругления. Можно добавить каике-то методы, чтобы отрисовка была более качественной без искажений?
czcams.com/video/KYq2WF3otxc/video.html Если ты работаешь с неуправляемой памятью, я тебя поздравляю, ты сделал утечку памяти! Продолжай учить людей делать утечки памяти!
Старался оставить только то, что нужно. Сейчас вот посмотрел и да, стоило оставить удаление объекта. Однако, в данном кейсе не стоило делать замечание настолько драматизированно. Замечания можно делать, не корча из себя гуру кода 👍
А можно ли сделать много таких утилок, ну типо методов с рисованием в 1 классе? чтобы там были например методы - { "RoundedButton", "RoundeTextBox", RoundedProgressBar" }; ?
19:38 А как сделать чтобы в свойствах макета пользовательской кнопки появились две переменные: "nWidthEllipse/nHeightEllipse" ? Чтобы величину скругления выбирать не программно, а кликом мыши.
Привет ув. Хачатур закругление к какому контролу можно еще применить? Например для кнопки, да круто смотрится. У кнопки можно выставить FlatStyle и BorderStyle, и только в этом случае смотрится красиво, если эти свойства не выставить, то даже на кнопке смотрится топорно Поглядел я на свойство формы, textBox а там таких свойств нет (FlatStyle и BorderStyle), а если например хочется закруглить textBox , что делать? Другой метод, или всё же можно этим методом.
Здравствуй, есть вопрос по поводу MessageBox. При заполнении элемента Combobox данными через ItemSourse не срабатывает без добавления сточки MessageBox.Show("Текст") перед Combobox.SelectItem= Объект.Поле . Если MessageBox добавить , то элементы появляются в приложении, если нету MessageBox - не появляется(Пустой Combobox). Это баг такой или магия MessageBox???
@@XpucT Перезапуск студии, создание нового проекта и повторение действий не дали должного результата... Очистка и сборка решения также не помогла. Панель элементов не хочет отображать вкладку с созданным кастомным компонентом.
Такой урок будет. Но скорее всего для спонсоров, ибо заморочек слишком много. На один монтаж заблюрирования всего и вся уйдёт очень много времени, а на тестовом сервере ничего не показательно.
Привет Хачатур. Открыл в интернете ещё одно направление для ракетостроения, это написание служб для Windows. Там такое творят я аж в осадок выпал. Плюнул на всё, сделал с костылями, но по-своему. Как мне показалось, что это всё же лучше того, что предлагают интернет гуру. Пара вопросов: есть ли реально короткие пути в написании служб и можно ли их отлаживать прямо в дабагере IDE без сатанизма с предварительной проверкой в консольном проекте? Надеюсь, тема интересная ты и снимешь об этом видео. Спасибо)
Привет 🖐 Я создаю службу в 1 строку =))) Думаешь шучу? Нет =)) Создаю, запускаю и удаляю в 1 строку. Но если говорить о сложных комбинациях, то всё равно строк немного. Ты не первый, кто про службы спрашивает. Взял на заметку ;)
Здравствуй Хачатур, Спасибо за очередной увлекательный урок, у меня один вопросик, я сделал все так, как у тебя в видео, но у меня вылетает "Ошибка CS0426 Имя типа "MyControll" не существует в типе "Form1"" как это исправить, буду благодарен за подсказку.)
Привет 🖐 Ответ очевиден. Проблема в имени MyControll. Внимательно смотри кто откуда наследуется и как называешь всё ;) Половину Ты видимо по уроку сделал, а половину по-своему =)
А можно ли с других приложений считывать данные? Например « Какой-то приложение достает данные из базы и мне надо это заполнить онлайн и в форму». Мне постоянно приходиться Ctrl+C и Ctrl+V. Доступ к базе не дают.
Как открыть Блокнот и вставить в него текст:
// Импорт
[DllImport("user32.dll", EntryPoint = "FindWindowEx")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
// Импорт
[DllImport("User32.dll")]
public static extern int SendMessage(IntPtr hWnd, int uMsg, int wParam, string lParam);
// Метод
public void Notepad(string line)
{
var notepad = Process.Start("notepad.exe");
notepad.WaitForInputIdle();
SendMessage(FindWindowEx(notepad.MainWindowHandle, new IntPtr(0), "Edit", null), 0x000C, 0, line);
}
// Вызываем
Notepad("Важный текст");
в вёрстке просто дабавить элементу border-radius: 10px; а в по видео можно 2 ракеты построить)))
насколько я знаю, что сначала, чтобы понять ВинАпи нужно изучить Операционные Системы, а потом будет как то понятно как там все взаимодействует
Очень интересные темы видео! Не на многих каналах такое есть. Спасибо
Пошла жесть, пьём мексидол и за работу!
@@MetaJamm Видимо, мы с вами живём на разных западах. В моей стране атропины применяются массово, а польза янтарной кислоты ни у кого не вызывает сомнений или вопросов. Но всё равно спасибо за развёрнутый комментарий. Не поленились ведь.
Либо я не так понял пояснение про вызов base.OnPaint(e), либо Вы не правильно объяснили. Ключевое слово base используется для доступа к членам базового класса. То есть в нашем случае этой строчкой мы вызываем метод базового класса Button, а не саму себя вызываем..
О! Нашел наконец-то Весь CZcams перерыл :)
Оооо, я через функции WinAPI делал кликер который не использовал мышку, а делал фейковые нажатия в программах.
Программа "симулятор работы сотрудника на c#"
@@BlendLogDev та не ботоводство типо :D
Как-то можно с тобой связаться?
Тоже планирую делать свои уроки. Есть библиотека платная с уже нарисованными контролами.
Мы (я и какой то ютубер) делали свою бесплатную которая рисовала такие же но только бесплатные
1. У контрола должны быть свои методы которые можно менять в свойствах
И тд и др.
Спасибо за урок. Но я делал это
7:12 IntPtr hWnd это не void. Он принимает Handle окна, а точнее указатель на него. Чтобы передать функции родителя. То есть, если говорить коротко, функция MessageBox будет знать кто родитель у неё и если передать Handle текущей формы Form1, то будет отображаться как ShowDialog и не даст клацнуть по родительской форме.
Ниже уже обсуждалось, но за лайк самому себе - это зачёт 👍
Почему-то когда я попробовал перетащить эту кнопку в прогу, вылезло сообщение:
*"Не удалось загрузить элемент [название элемента]. Он будет удален из набора инструментов."*
И, собсна, кнопка удалилась из Панели элементов.
Проблему решила кнопка *Сборка > Собрать решение, или Ctrl + Shift + B*
Столкнулся с такой проблемой, что контрл-кнопку проект не видел, для того чтобы увидел нужно клас сделать public
Так получается можно откуда угодно достучаться до любого окна, виртуально двигать мышкой, нажимать кнопки сделав такой примитивный "симулятор нахождения за ПК"?)))
Совершенно верно =)
Столкнулся с такой проблемой: код из видео строит кнопку с обрубленными углами, то есть она не чётко закруглённая, а пропадают некоторые пиксели у закругления. Можно добавить каике-то методы, чтобы отрисовка была более качественной без искажений?
По идее можно использовать элемент PictureBox. Топорно, но можно сделать как нужно.
может можно небольшой курс по api? )
Спасибо)
czcams.com/video/KYq2WF3otxc/video.html Если ты работаешь с неуправляемой памятью, я тебя поздравляю, ты сделал утечку памяти! Продолжай учить людей делать утечки памяти!
Старался оставить только то, что нужно. Сейчас вот посмотрел и да, стоило оставить удаление объекта.
Однако, в данном кейсе не стоило делать замечание настолько драматизированно.
Замечания можно делать, не корча из себя гуру кода 👍
Ракетостроение)
А можно ли сделать много таких утилок, ну типо методов с рисованием в 1 классе? чтобы там были например методы - { "RoundedButton", "RoundeTextBox", RoundedProgressBar" }; ?
Да, сколько угодно.
@@XpucT спасибо.
19:38 А как сделать чтобы в свойствах макета пользовательской кнопки появились две переменные: "nWidthEllipse/nHeightEllipse" ? Чтобы величину скругления выбирать не программно, а кликом мыши.
Привязать переменную к UI. Обо всём об этом на канале всё есть, если смотреть последовательно:
czcams.com/play/PL05SB3rBbUsraqiEUeS70RKhVAu97nGeb.html
Привет ув. Хачатур
закругление к какому контролу можно еще применить?
Например для кнопки, да круто смотрится. У кнопки можно выставить FlatStyle и BorderStyle, и только в этом случае смотрится красиво, если эти свойства не выставить, то даже на кнопке смотрится топорно
Поглядел я на свойство формы, textBox а там таких свойств нет (FlatStyle и BorderStyle), а если например хочется закруглить textBox , что делать? Другой метод, или всё же можно этим методом.
Привет 🖐
Не пробовал. Как найду время попробую. Отметил себе ✍🏼
Спасибо!!!!
Здравствуй, есть вопрос по поводу MessageBox. При заполнении элемента Combobox данными через ItemSourse не срабатывает без добавления сточки MessageBox.Show("Текст") перед Combobox.SelectItem= Объект.Поле . Если MessageBox добавить , то элементы появляются в приложении, если нету MessageBox - не появляется(Пустой Combobox). Это баг такой или магия MessageBox???
Красавчик! Очень полезно и понятно
Добрый день, уважаемый автор канала. Подскажите пожалуйста, как добавить на панель элементов вкладку с элементами проекта??
Доброе утро ☀
Попробуйте _Собрать решение_ и просто перезапустить проект.
@@XpucT, к сожалению - не помогло... Панель элементов наотрез отказывает отображать мои компоненты. Может, дело в настройках среды?
@@user-gy2jp9fd5e нет, это глюк. Постарайся в точности повторить действия из видео. Не торопясь.
@@XpucT Перезапуск студии, создание нового проекта и повторение действий не дали должного результата... Очистка и сборка решения также не помогла. Панель элементов не хочет отображать вкладку с созданным кастомным компонентом.
10:41 А что это за выделение крутое?
Выделяешь через alt + лкм
Спасибо за урок! Можете сделать видео "Работа с БД?" А именно mysql?
Такой урок будет. Но скорее всего для спонсоров, ибо заморочек слишком много.
На один монтаж заблюрирования всего и вся уйдёт очень много времени, а на тестовом сервере ничего не показательно.
@@XpucT даже если для спонсоров, было бы очень интересно посмотреть урок именно от Вас
лучше нет квадратной кнопки
ведь это кнопка
а не жопка
)))
А можно сделать также, но на wpf?
Можно. Там то же самое.
@@XpucT OnPaint говорит не существует, а про регион говорит мол он является типом но используется как переменная
Привет Хачатур.
Открыл в интернете ещё одно направление для ракетостроения, это написание служб для Windows.
Там такое творят я аж в осадок выпал. Плюнул на всё, сделал с костылями, но по-своему. Как мне показалось, что это всё же лучше того, что предлагают интернет гуру.
Пара вопросов: есть ли реально короткие пути в написании служб и можно ли их отлаживать прямо в дабагере IDE без сатанизма с предварительной проверкой в консольном проекте?
Надеюсь, тема интересная ты и снимешь об этом видео. Спасибо)
Привет 🖐
Я создаю службу в 1 строку =)))
Думаешь шучу? Нет =))
Создаю, запускаю и удаляю в 1 строку.
Но если говорить о сложных комбинациях, то всё равно строк немного.
Ты не первый, кто про службы спрашивает. Взял на заметку ;)
@@XpucT Круто, буду ждать)
А ГДЕ ВИДЕО ПО СОЗДАНИЮ ДЛЛ ?
используйте WPF и не ломайте себе голову товарисчи
👍
Здравствуй Хачатур, Спасибо за очередной увлекательный урок, у меня один вопросик, я сделал все так, как у тебя в видео, но у меня вылетает "Ошибка CS0426 Имя типа "MyControll" не существует в типе "Form1"" как это исправить, буду благодарен за подсказку.)
Привет 🖐
Ответ очевиден. Проблема в имени MyControll.
Внимательно смотри кто откуда наследуется и как называешь всё ;)
Половину Ты видимо по уроку сделал, а половину по-своему =)
@@XpucT Спасибо за совет ))
Вот оно средство от депрессии.
Первый
А можно ли с других приложений считывать данные? Например « Какой-то приложение достает данные из базы и мне надо это заполнить онлайн и в форму». Мне постоянно приходиться Ctrl+C и Ctrl+V. Доступ к базе не дают.
Вообще можно. Но это нужно изучать injecting.