Почетный модератор
![]() 23246 / 9158 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|||||||
Готовые решения и полезные коды на Visual Basic .NET (Часть-1)18.08.2011, 22:44. Показов 559828. Ответов 250
Предлагаю в этой теме размещать ответы на часто задаваемые вопросы и просто делиться полезными кодами.
Обращаю внимание на некоторые моменты, которые являются дополнением к основным правилам
Просьба к постившим: не спешите постить решения "сгоряча", тщательно обдумайте список вопросов, их тематику и порядок Если вы найдете информацию, которой можно было бы дополнить ваши предыдущие сообщения, что-то изменить или перегруппировать, пишите в л/с.
Примечание: некоторые коды приведены без учета строгой типизации (Параметр Strict), поэтому для их использования необходимо выполнить приведение типов
55
|
18.08.2011, 22:44 | |
Ответы с готовыми решениями:
250
Готовые решения и полезные коды на Visual Basic .NET (Часть-2)
|
![]() |
||||||
20.02.2013, 05:25 | ||||||
Командная строка на форме Windows!
Кликните здесь для просмотра всего текста
17
|
![]() 1719 / 1206 / 228
Регистрация: 23.12.2010
Сообщений: 1,544
|
|||||||||||
04.03.2013, 21:34 | |||||||||||
Получение почты по протоколу POP3.
Создадим класс POP3.vb Кликните здесь для просмотра всего текста
Он у нас будет отвечать за получение списка писем с сервера и показ тела выбранного письма. Теперь форма, см. рисунок "Форма1" На ней: three TextBox controls named . Set the UserPassword control's PasswordChar field to the asterisk character (*). Add a ListBox control named MessageList and two Button controls named ActGet and ActView. Set the Button controls' Text properties to Get Messages and View Message, respectively. Add informational labels if desired 3 TextBox с именами ServerName, UserName и UserPassword. Установите свойство PasswordChar последнего равным *. Добавьте ListBox с именем MessageList и 2 кнопки с именами ActGet и ActView. Установите свойство Text у кнопок равным Get Messages и View Message соответственно. По желанию добавьте метки (label) с пояснениями. Полный код формы: Кликните здесь для просмотра всего текста
В итоге письма мы сможем увидеть в текстовом представлении. В том числе и вложения там будут в виде строки в кодировке Base64. В целом рекомендую почитать и поизучать формат файлов .mht - именно в нем тело письма представлено. Добраться в него можно через класс CDO. Но это уже отдельная история (сам разбираюсь понемногу...) Код не мой, но рабочий - проверено. Взят из книги: Visual Basic 2005 Cookbook (By John Clark Craig, Tim Patrick). Для страждущих - книга приложена в архиве ![]()
13
|
![]() |
||||||
09.04.2013, 01:33 | ||||||
Восстанавливаем "потерянную" библиотеку или файл из приложения:
Предварительно этот файл нужно добавить в ресурсы приложения.
7
|
![]() 178 / 153 / 10
Регистрация: 08.11.2012
Сообщений: 224
|
|||||||||||
10.06.2013, 16:19 | |||||||||||
Кликните здесь для просмотра всего текста
Как использовать: Добавить в тело класса/событие/куда хотите вот этот код:
4
|
![]() 32 / 32 / 0
Регистрация: 14.01.2013
Сообщений: 75
|
||||||
21.06.2013, 21:25 | ||||||
Функция для проверки прокси :
5
|
Форумчанин.NET
![]() 556 / 427 / 64
Регистрация: 12.02.2013
Сообщений: 834
|
|||||||||||
24.06.2013, 09:41 | |||||||||||
Альтернативная отправка писем на E-mail
Сверху проекта подключаем:
14
|
![]() 178 / 153 / 10
Регистрация: 08.11.2012
Сообщений: 224
|
||||||||||||||||
24.06.2013, 21:08 | ||||||||||||||||
Загрузка DLL из ресурсов
Исходная статья для C# 1) Включаем "Показывать все файлы" в Обозревателе решений 2) Добавляем ссылку на библиотеку. Клик правой кнопкой мыши по "Ссылки" в обозревателе решений -> Добавить ссылку... -> Во вкладке "Обзор" выбрать вашу библиотеку -> ОК 3)Открываем список "Ссылки" -> Кликаем по пункту с названием нашей библиотеки -> В окне "Свойства" для параметра "Копировать локально" ставим False 4)Добавляем в ресурсы файл *.dll. В меню Проект > Свойства > Ресурсы > Добавить ресурс > выбираем снова нашу длл (либо сжатую длл архиватором)> Ok. Всё теперь появится в проекте папка Resources. Следите чтобы у ресурсов стояла опция "Копировать в выходной каталок" в положении "Не копировать". 5) Открываем список My Project -> открываем список MyApplication.myapp -> Двойной клик по Application.Designer.vb" 6) Находим класс "MyApplication" -> процедуру "New" заменяем на:
Для этого используйте следующую функцию
DLL_FILE_NAME - название файла в ресурсах Все, Теперь можно не таскать DLL за своей программой ![]()
22
|
![]() |
|||||||||||
28.06.2013, 14:05 | |||||||||||
Код довольно простой (на картинке для примера фон картинка, цвет фона красный)
7
|
![]() 136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
|
|
09.07.2013, 23:33 | |
Жемчужина примеров кода VB.NET 10 в Visual Studio 2010.
1). Вставка фрагмента кода IntelliSense... Использование этих фрагмента кода даёт нам возможность чтобы, сэкономить время на изучение примеров, использование незнакомых возможностей и повторного использования ондного итого же кода. Ещё одно преимущество этой возможности добавлять свои фрагменты кода, это легко сделать в меню Сервис\Диспетчер фрагментов кода...(или же Ctrl+K,Ctrl+B). Вставка фрагмента кода в окне редактора кодов. Выберите нужную позицию курсора в окне редактора кода, затем контекст меню а там "Вставить фрагмент..." (или Ctrl+K,Ctrl+X). 2). Примеры приложений на Visual Basic.NET В этом сборнике рецептов представлены примеры Visual Basic.NET, поставляемые в составе пакета Visual Studio 2010. Это сборный пакет программ, демонстрирующий функции Visual Studio 2010. Сборник находится в VBSample.zip архив его нужно сначала разархивировать (после открываем файл ReadMe.html - здесь описаны все примеры и добавлена ссылка к ним), по умолчанию она находистся здесь: диск на которой VS2010 установлена: \Program Files\Microsoft Visual Studio 10.0\Samples\1049\ Разделы этого примера. Кликните здесь для просмотра всего текста
-Примеры приложений
-Примеры данных -Примеры языков -Примеры LINQ -Примеры настройки безопасности -Примеры компонентов серверов -Примеры планшетных ПК -Примеры WCF -Примеры Winform
5
|
![]() |
||||||||||||||||
10.07.2013, 11:24 | ||||||||||||||||
В следующем примере хочу продемонстрировать как можно выполнять пинг определенного хоста с заданным интревалом в отдельном потоке без таймера и не зависая приложения. Изначально делал на C#, но решил переписать и на VB.NET.
Сначала о структуре приложения. 1) Класс PingNet - для реализации определения пинга 2) Класс GlobalCl - для хранения глобальных переменных 3) Класс Form1 - формочка с листвью и элементами для установки параметров. Начнем с класса PingNet Кликните здесь для просмотра всего текста
В принципе в коде все написано. В комментария каких-то дополнительных я думаю он не нуждается Класс GlobalCl Кликните здесь для просмотра всего текста
В нем есть статические переменные, которые инициализируются в статическом конструкторе, и больше нигде. Как видно это переменная потока. Конструктору передается адрес функции pn.Start, которая инициализирует метод обратного вызова для pn. Он то и выполняет бесконечную проверку в отдельном потоке, запуская метод класса checkPing. Класс формы. Кликните здесь для просмотра всего текста
В форме мы подписываемся на событие изменения состояния пинга и создаем его обработчик Hoock_change_Ping. В этом обработчике методом Invoke происходит реализация доступа к элементу из разных потоков. Метод принимает делегат, который говорит какой метод нужно вызывать и массив передаваемых параметров. Делегат pout инкапсулирует ссылку на метод printItem. В нем идет вывод очередной позиции с информацией в листвью и окрашивание строк в зависимости от состояний пинга. Состояния задаются в классе PingNet. Там можно отрегулировать на свой вкус или задать интерфейс для установки. Также подписывайтесь на событие изменения состояния пинга с других форм. Испольуйте нужным образом. P.S: Код писАл полностью сам. Разумеется версию упростил. Дорабатывайте на свое усмотрение. Проект прилагаю, скрины тоже.
16
|
![]() 136 / 63 / 24
Регистрация: 08.11.2012
Сообщений: 250
|
||||||
14.07.2013, 00:25 | ||||||
Управление положением формы.
на примере мини гаджет а "Cyber Gadget" Кликните здесь для просмотра всего текста
5
|
![]() 77 / 38 / 2
Регистрация: 07.01.2012
Сообщений: 414
|
||||||
19.07.2013, 22:13 | ||||||
Подсветка синтаксиса как в редакторах.
Весь код для вставки:
5
|
![]() |
||||||
03.10.2013, 23:19 | ||||||
Модернизация Готовые решения и полезные коды на Visual Basic .NET (Часть-1)
Отмечаем (выделяем) checkbox`s в TreeView при помощи области выделения при помощи Shift выделяем при помощи Ctr снимаем выделение в предыдущем посте у указанной реализации происходило выделение только в направлении сверху-вниз и слева-на право/ исправлено применений другого типа рамки
3
|
![]() 649 / 601 / 92
Регистрация: 19.03.2012
Сообщений: 1,128
|
|||||||||||
13.10.2013, 21:52 | |||||||||||
Получение URL всех вкладок Internet Explorer
На форме ListBox и Button. Добавляем ссылку на вкладке COM: Microsoft Internet Controls. Импортируем:
6
|
![]() |
||||||
09.11.2013, 18:38 | ||||||
Получение установленных приложений
Код программы: Кликните здесь для просмотра всего текста
5
|
![]() |
||||||
09.11.2013, 20:53 | ||||||
Получение установленных приложений (2 вариант) [Рекомендуемо]
Кликните здесь для просмотра всего текста
9
|
![]() ![]() |
|||||||||||
15.12.2013, 11:46 | |||||||||||
Один из вариантов защиты программы. При желании можно усложнить (к примеру, на вход кодировщика подавать не начальную сформированную строку, а немного ее модернизировав).
Код 1-тестовое приложение, код 2 - генератор файла ключа. Замечу, что данный метод имеет хорошие возможности для усложнения (к примеру, для объекта Rijndael его свойство Key - возможно шифрование с созданием второго файла). Для проверки работоспособности файл ключа необходимо поместить в папку с исполняемым файлом самой программы. Код тестового приложения:
13
|
![]() ![]() |
||||||
21.12.2013, 19:37 | ||||||
Несмотря на то что данный вопрос был освещен на 1-й странице данного FAQ, хотелось бы его дополнить.
Данный тестовый проект писался мной для лучшего понимания построения SQL запросов и запоминания основных моментов. На форме DataGridView1 и 7 кнопок. Надеюсь, кому-нибудь пригодится. ![]()
13
|
Заблокирован
|
||||||||||||||||
26.12.2013, 16:35 | ||||||||||||||||
3 украшения для формы
Украшение №1. Прозрачный фон из картинки PNG. Это очень простой способ создать окошко с попиксельно прозрачным фоном, и в то же время, с возможностью размещения любых стандартных контролов Winforms (при использовании известного решения с UpdateLayeredWindow, эта возможность утрачивается). Кликните здесь для просмотра всего текста
Украшение №2. Стеклянный фрейм Aero, расширенный в клиентскую область. Кликните здесь для просмотра всего текста
Украшение №3. Простейший скин в стиле Metro. (Автоматически применяется ко всем кнопкам на форме.) Кликните здесь для просмотра всего текста
Примечание. Если планируется рисовать свой скин для всех контролов, лучше отключить визуальные стили. Их размеры могут сильно различаться в зависимости от используемой темы, а это неполезно. Добавлено через 8 минут Забыл последние два кода под спойлер убрать. Хотелось бы, чтобы кто-нибудь отредактировал сообщение или дал такую возможность мне.
6
|
26.12.2013, 16:35 | ||||||
Помогаю со студенческими работами здесь
60
Basic4Android. Готовые решения полезные коды Полезные коды для PascalABC.NET Готовые коды для решения лабораторных работ Где бесплатно скачать учебник по Visual Basic 6 и Visual Basic .Net ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
|
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
|
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
|
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
|
Nullable типы и операторы объединения null в C#
UnmanagedCoder 12.04.2025
Многие шутят, что null — это миллиардная ошибка в программировании. И в этой шутке только доля шутки. Тони Хоар, создатель null-ссылки, сам назвал её своей "ошибкой на миллиард долларов". Почему?. . .
|
Аутентификация и авторизация JWT в микросервисах с API Gateway
stackOverflow 12.04.2025
В традиционных монолитных приложениях безопасность часто реализуется как единый защитный периметр - пользователь проходит аутентификацию один раз, после чего получает доступ ко всем функциям системы. . . .
|
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
|
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
|
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
|
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
|