|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|||||||
Готовые решения и полезные коды на Visual Basic .NET (Часть-1)18.08.2011, 22:44. Показов 580275. Ответов 250
Предлагаю в этой теме размещать ответы на часто задаваемые вопросы и просто делиться полезными кодами.
Обращаю внимание на некоторые моменты, которые являются дополнением к основным правилам
Просьба к постившим: не спешите постить решения "сгоряча", тщательно обдумайте список вопросов, их тематику и порядок Если вы найдете информацию, которой можно было бы дополнить ваши предыдущие сообщения, что-то изменить или перегруппировать, пишите в л/с.
Примечание: некоторые коды приведены без учета строгой типизации (Параметр Strict), поэтому для их использования необходимо выполнить приведение типов
55
|
|||||||
| 18.08.2011, 22:44 | |
|
Ответы с готовыми решениями:
250
Готовые решения и полезные коды на Visual Basic .NET (Часть-2)
|
|
|
||||||
| 20.02.2013, 05:25 | ||||||
|
Командная строка на форме Windows!
Кликните здесь для просмотра всего текста
17
|
||||||
|
1721 / 1208 / 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
|
|||||||||||
|
27 / 27 / 4
Регистрация: 14.02.2012
Сообщений: 135
|
|||||||
| 09.03.2013, 08:10 | |||||||
2
|
|||||||
|
|
||||||
| 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 ?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|