Новый выпуск рассылки. В следующем выпуске появятся новые голосования.
Читайте!
Книги
|
|
Переход на VB .NET. Стратегии, концепции, код (цена ~ 158 руб.)
Эта книга была задумана как одна из первых книг о .NET, которая ознакомит читателя с основными идеями новой архитектуры и подготовит его к знакомству с более детальной литературой, например документацией Microsoft и ее толкованиями, которая неизбежно появится на рынке. Она поможет вам взглянуть на эту технологию с позиций ваших собственных рабочих планов и быстро освоить те концепции, которые покажутся необычными для большинства прогр...
|
Автор(ы): Дан Эпплман, Издательство: Питер, 2002 г.
|
|
|
Программирование на VB.NET. Учебный курс (цена ~ 119 руб.)
Эта книга является вводным курсом по
изучению языка программирования Visual Basic .NET.
Даны основные принципы объектно-ориентированного
программирования в контексте языка VB .NET,
поскольку без хорошей подготовки в этой
области невозможно в полной мере
пользоваться всеми преимуществами VB .NET.
Изложены азы всех аспектов языка, которыми
должен владеть любой профессиональный
разработчик VB .NET
|
Автор(ы): Г. Корнелл, Дж. Моррисон, Издательство: Питер, 2002 г.
|
|
|
VB.NET для разработчиков (цена ~ 125 руб.)
Основная задача книги - быстро ознакомить
разработчиков Visual Basic с изменениями в .NET
Framework. Программисты, использующие Java, C++, Delphi
или другие инструменты разработки
приложений и интересующиеся Visual Basic или
технологией .NET Framework, также найдут эту книгу
полезной. Хотя книга посвящена Visual Basic.NET, ее
основная цель - продемонстрировать
взаимодействие Visual Basic и ...
|
Автор(ы): Кит Франклин, Издательство: Вильямс, 2002 г.
|
Остальные книги о VB можно найти
здесь.
наверх
Операции "копировать", "вырезать", "вставить".
Для работы с Clipboard используется объект - Clipboard и
свойство Form.
Вставьте в проект меню с тремя пунктами mnuEditCopy,
mnuEditCut и mnuEditPaste.
Данные примеры применимы для TextBox'а. Для RichTextBox'а
вместо SelText используйте SelRtf
'"копировать"
Private Sub mnuEditCopy_Click()
On Error Resume Next
Clipboard.Clear
Clipboard.SetText frmMain.Text1.SelText
End Sub
'"вырезать"
Private Sub mnuEditCut_Click()
On Error Resume Next
Clipboard.Clear
Clipboard.SetText frmMain.Text1.SelText
frmMain.Text1.SelText = vbNullString
End Sub
'"вставить"
Private Sub mnuEditPaste_Click()
On Error Resume Next
frmMain.Text1.SelText = Clipboard.GetText
End Sub
наверх
Поиск и замена
Три примера поиска и замены одного строкового
выражения другим
Первый пример показан на основе функций Split и Join.
SourceString - текст для поиска, ReplaceThis - какое искать
выражение в тексте, WithThis - на что менять найденное
выражение
Пример 1
Function ReplaceAll(SourceString As String, ReplaceThis As String, WithThis As String)
Dim Temp As Variant
Temp = Split(SourceString, ReplaceThis)
ReplaceAll = Join(Temp, WithThis)
End Function
Private Sub Form_Load()
'этот пример меняет все найденные выражения
"go" на "bad", в тексте "good boy go home"
MsgBox ReplaceAll("good boy go home", "go", "bad")
End Sub
Пример 2
Public Function ReplaceAll(searchstring As String, findstring As String, replacestring As
String) As String
Dim curpos As Long
curpos = 1
Do
curpos = InStr(curpos, searchstring, findstring)
searchstring = Left$(searchstring, curpos - 1) & replacestring &
Right$(searchstring, Len(searchstring) - curpos - Len(findstring) + 1)
Loop Until InStr(searchstring, findstring) = 0
ReplaceAll = searchstring
End Function
Private Sub Form_Load()
MsgBox ReplaceAll("good boy go home", "go", "bad")
End Sub
Пример 3
Private Function ReplaceSubString(str As String, ByVal substr As String, ByVal newsubstr
As String)
Dim pos As Double
Dim startPos As Double
Dim new_str As String
startPos = 1
pos = InStr(str, substr)
Do While pos > 0
new_str = new_str & Mid$(str, startPos, pos - startPos) & newsubstr
startPos = pos + Len(substr)
pos = InStr(startPos, str, substr)
Loop
new_str = new_str & Mid$(str, startPos)
ReplaceSubString = new_str
End Function
Private Sub Command1_Click()
Text1.Text = ReplaceSubString(Text1.Text, " <", "<>")
'Примеры использования
'Text1.Text = ReplaceSubString(Text1.Text, ">" & vbCrLf,
">")
'Text1.Text = ReplaceSubString(Text1.Text, "><", ">" &
vbCrLf & "<")
'Text1.Text = ReplaceSubString(Text1.Text, vbCrLf, "")
'Text1.Text = ReplaceSubString(Text1.Text, "><", ">" &
vbCrLf & "<")
End Sub
наверх
Определить кодировку текста (Dos или Win)
Предположим, вы загружаете тестовой документ в TextBox. При изменении содержимого тестового блока вы можете узнать тип кодировки текста (Dos или Win)
Private Sub Text1_Change()
'пpовеpяем тип кодиpовки ANSI или ASCII
'беpем пеpвые 1000 байт еcли это возможно. Hевозможно
- меньше.
l& = Len(Text1.Text)
If l& > 1000 Then l& = 1000
'копиpyем yчаcток текcта в пеpеменнyю, иначе тоpмоз
обеcпечен
s$ = Left$(Text1.Text, l&)
'обнyляем флажки
fdo% = 0
fwo% = 0
'пpоcматpиваем кycок текcта
For n% = 1 To l&
'вытаcкиваем очеpедной cимвол
c$ = Mid$(s$, n%, 1)
'еcли это pyccкая "о" в DOS кодиpовке то инкpементиpyем
cчетчик
If c$ = Chr$(174) Then fdo% = fdo% + 1
'еcли это pyccкая "о" в Win кодиpовке то инкpементиpyем
cчетчик
If c$ = Chr$(238) Then fwo% = fwo% + 1
Next
'ycтанавливаем в конфиге тип пpоcмотpа по дефолтy
If fdo% > fwo% Then 'это явно ДОC-текcт
MsgBox "DOS"
Else 'это явно Win-текcт
MsgBox "WIN"
End If
End Sub
наверх
Убрать двойные пробелы во всем тексте
Данная функция в качестве входного параметра принимает любую текстовую строку (содержимое TextBox или RichTextBox), убирает все двойные пробелы и возвращает обновленный текст. Для пояснения действия данной функции добавьте на форму элемент TextBox, элемент CommandButton. Скопируйте следующий текст, запустите проект. В текстовом поле наберите любой текст, оставляя двойные пробелы между буквами или словами. Затем нажмите на кнопку.
Public Function SquishSpaces(ByVal strText As String) As String
Const TWO_SPACES As String = " "
Dim intPos As Integer
Dim strTemp As String
intPos = InStr(1, strText, TWO_SPACES, vbBinaryCompare)
Do While intPos > 0
strTemp = LTrim$(Mid$(strText, intPos + 1))
strText = Left$(strText, intPos) & strTemp
intPos = InStr(1, strText, TWO_SPACES, vbBinaryCompare)
Loop
SquishSpaces = strText
End Function
Private Sub Command1_Click()
Text1.Text = SquishSpaces(Text1.Text)
'RichTextBox1.Text = SquishSpaces(RichTextBox1.Text)
End Sub
наверх
Подсчитать количество определенных символов в тексте
Данный пример покажет, сколько раз встречается буква Н в данном выражении. Вместо Н вы можете использовать любое строковое выражение
Private Sub Form_Load()
myString = "в данном примере несколько букв н, а
точнее - "
tempString = Split(myString, "н")
MsgBox "в данном примере несколько букв н, а
точнее - " & UBound(tempString)
tempString = Split(myString, "нн")
MsgBox "в данном примере " & UBound(tempString) & "
раз встречается выражение нн"
End Sub
наверх
Примеры работы с датами
Небольшое примечание: если в качестве входного
параметра указано (Optional dteDate As Date), то вызов
функции можно осуществлять как НазваниеФункции()
- то есть можно оставлять пустые скобки. Например
MsgBox FirstOfQuarter()
Список функций
Определение первого/последнего дня текущего
квартала
Определение первого/последнего дня месяца
Определение первого/последнего дня следующего
месяца
Определение первого/последнего дня предыдущего
месяца
Определение первого/последнего дня текущей
недели
Опредение номера дня в году (2 января = 2, 3 февраля =
34)
Данная функция определяет рабочий день или нет
Возвращение последнего рабочего дня в текущем
месяце
Функция определения полных лет со дня рождения
Вычисление разницы в годах между двумя датами
Определение високосности года
Определение первого дня текущего квартала
Function FirstOfQuarter(Optional dteDate As Date) As Date
If CLng(dteDate) = 0 Then
dteDate = Date
End If
FirstOfQuarter = DateSerial(Year(dteDate), Int((Month(dteDate) - 1) / 3) * 3 + 1, 1)
End Function
Определение последнего дня текущего квартала
Function LastOfQuarter(Optional dteDate As Date) As Date
If CLng(dteDate) = 0 Then
dteDate = Date
End If
LastOfQuarter = DateSerial(Year(Date), Int((Month(Date) - 1) / 3) * 3 + 4, 0)
End Function
Определение первого дня месяца
Function FirstOfMonth(Optional dteDate As Date) As Date
'если параметр dteDate = 0 то для вычисления берется
текущая дата
If CLng(dteDate) = 0 Then
dteDate = Date
End If
FirstOfMonth = DateSerial(Year(dteDate), Month(dteDate), 1)
End Function
Определение последнего дня месяца
Function LastOfMonth(Optional dteDate As Date) As Date
'если параметр dteDate = 0 то для вычисления берется
текущая дата
If CLng(dteDate) = 0 Then
dteDate = Date
End If
'Ищется первый день следующего месяца, и
вычитается один день
LastOfMonth = DateSerial(Year(dteDate), Month(dteDate) + 1, 1) - 1
End Function
Определение первого дня следующего месяца
Function FirstOfNextMonth(Optional dteDate As Date) As Date
If CLng(dteDate) = 0 Then
dteDate = Date
End If
FirstOfNextMonth = DateSerial(Year(dteDate), Month(dteDate) + 1, 1)
End Function
Определение последнего дня следующего месяца
Function LastOfNextMonth(Optional dteDate As Date) As Date
If CLng(dteDate) = 0 Then
dteDate = Date
End If
LastOfNextMonth = DateSerial(Year(dteDate), Month(dteDate) + 2, 0)
End Function
Определение первого дня предыдущего месяца
Function FirstOfPreviousMonth(Optional dteDate As Date) As Date
If CLng(dteDate) = 0 Then
dteDate = Date
End If
FirstOfPreviousMonth = DateSerial(Year(dteDate), Month(dteDate) - 1, 1)
End Function
Определение последнего дня предыдущего месяца
Function LastOfPreviousMonth(Optional dteDate As Date) As Date
If CLng(dteDate) = 0 Then
dteDate = Date
End If
LastOfPreviousMonth = DateSerial(Year(dteDate), Month(dteDate), 0)
End Function
Определение первого дня текущей недели
Function StartOfWeek(D As Variant, Optional FirstWeekday As Integer) As Variant '
'Пример: MsgBox StartOfWeek(Date)
If IsMissing(FirstWeekday) Then 'Sunday is the assumed first day of week.
StartOfWeek = D - Weekday(D) + 1
Else
StartOfWeek = D - Weekday(D, FirstWeekday) + 1
End If
End Function
Определение последнего дня текущей недели
Function EndOfWeek(D As Variant, Optional FirstWeekday As Integer) As Variant
'Пример: MsgBox EndOfWeek(Date)
If IsMissing(FirstWeekday) Then 'Sunday is the assumed first day of week.
EndOfWeek = D - Weekday(D) + 7
Else
EndOfWeek = D - Weekday(D, FirstWeekday) + 7
End If
End Function
Опредение номера дня в году (2 января = 2, 3
февраля = 34)
Function DayOfYear(Optional dteDate As Date) As Long
If CLng(dteDate) = 0 Then
dteDate = Date
End If
DayOfYear = Abs(DateDiff("d", dteDate, DateSerial(Year(dteDate) - 1, 12, 31)))
End Function
Данная функция определяет: рабочий день или
нет
Примечание: Дни с понедельника по пятницу
считаются рабочими
Function IsWorkday(Optional dteDate As Date) As Boolean
If CLng(dteDate) = 0 Then
dteDate = Date
End If
Select Case Weekday(dteDate)
Case vbMonday To vbFriday
IsWorkday = True
Case Else
IsWorkday = False
End Select
End Function
Функция возвращает последний рабочий день в
текущем месяце (Понедельник-Пятница)
Function LastBusDay(D As Variant) As Variant
'Пример: MsgBox LastBusDay(Date)
Dim D2 As Variant
If VarType(D) <> 7 Then
LastBusDay = Null
Else
D2 = DateSerial(Year(D), Month(D) + 1, 0)
Do While Weekday(D2) = 1 Or Weekday(D2) = 7
D2 = D2 - 1
Loop
LastBusDay = D2
End If
End Function
Функция определения полных лет со дня рождения
Function CalcAge(dteBirthdate As Date) As Long
'В качестве параметра dteBirthdate необходимо задать
дату рождения
'Пример: MsgBox CalcAge("09/03/75")
Dim lngAge As Long
If Not IsDate(dteBirthdate) Then
dteBirthdate = Date
End If
'Проверить, чтобы в качестве входного параметра
не была задана дата в будущем
If dteBirthdate > Date Then
dteBirthdate = Date
End If
'Подсчет разницы в годях между текущей датой и
датой рождения
lngAge = DateDiff("yyyy", dteBirthdate, Date)
'Вычитается один год, если в этом году дня
рождения еще не было
If DateSerial(Year(Date), Month(dteBirthdate), Day(dteBirthdate)) > Date Then
lngAge = lngAge - 1
End If
CalcAge = lngAge
End Function
Вычисление разницы в годах между двумя датами
Естественно, что значение Bdate должно быть
меньше параметра DateToday
Function Age(Bdate, DateToday) As Integer
If Month(DateToday) < Month(Bdate) Or (Month(DateToday) = Month(Bdate) And
Day(DateToday) < Day(Bdate)) Then
Age = Year(DateToday) - Year(Bdate) - 1
Else
Age = Year(DateToday) - Year(Bdate)
End If
End Function
Определение високосности года
Function LeapYear(YYYY As Integer) As Integer
'Функция возвращает -1, если указанный входной
параметр (год) является високосным
'Пример: MsgBox LeapYear(1996)
LeapYear = YYYY Mod 4 = 0 And (YYYY Mod 100 <> 0 Or YYYY Mod 400 = 0)
End Function
Function LeapYear2(YYYY As Integer) As Integer
'Функция возвращает -1, если указанный входной
параметр (год) является високосным
'Пример: MsgBox LeapYear(1996)
LeapYear2 = Month(DateSerial(YYYY, 2, 29)) = 2
End Function
Function IsLeapYear(DateIn As Date) As Boolean
'Функция возвращает True, если год в указанной дате
является високосным
'Проверка: MsgBox IsLeapYear("01/01/00")
If IsDate("29/02/" & Format(DateIn, "yyyy")) = True Then
IsLeapYear = True
End If
End Function
наверх
Мои программы
BalloonMessage for MS Agent
BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels.
Автора: Шатрыкин Иван и Павел Сурменок.
наверх
Вопрос/Ответ
Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы.
Вопросы:
Автор вопроса: Роман
Ответ ожидается по этому
адресу
Подскажите пожалуйсто как сделать так что при наведении курсора на кнопку, она убегала в абсолютное безразличное место?
Автор вопроса:
Роман
Ответ ожидается по этому
адресу
У кого есть файлик Xvoice.dll или что уж очень похожее (по названию) по возможности прислать по e-mail'у!!!
Автор вопроса:
Серёга
Ответ ожидается по этому
адресу
Подскажите пожалуйста как сделать так: когда нажимаешь на .exe файл он сам определял полный адрес папки, в которой он находится.
Автор вопроса:
SINED
Ответ ожидается по этому
адресу
Как программно уянать имя польяователя в сети яа укаяанным компьютером?
Автор вопроса:
Sergey
Ответ ожидается по этому
адресу
Как сделать Winsock стандартными средствами (с применением WinApi)
Автор вопроса:
Sergey
Ответ ожидается по этому
адресу
Как сделать автозапуск с 3.5 диска (дискеты)?
Автор вопроса:
Roman
Ответ ожидается по этому
адресу
как с помощью OLE прописать правильно таблицу в документ WinWord.
Автор вопроса:
Максим
Ответ ожидается по этому
адресу
Пишу прогу для ведения складского уч?та в кафе. Нужно свяяать меню с калькуляционными картами(компоненты блюда) и со складом. Какие есть идеи или где можно посмотреть аналоги таких БД?
Автор вопроса:
Denis
Ответ ожидается по этому
адресу
В своей книге (переход на ВБ.нет) г-н Эпплман мягко намекает что теоретически если CLR будет реализована в другой (не Win32) операционной системе то в принципе исходный код можно перекомпилировать для использования в этой среде.
Понимаю что вопрос мягко говоря не серьезный но все таки сущ. ли практическая реализация сего
Автор вопроса:
Yanus
Ответ ожидается по этому
адресу
Нодскажите, где можно скачать толковыю книгу по VBA ?
Автор вопроса:
Peter
Ответ ожидается по этому
адресу
Работаю в VBA, как полученные данные сунуть в ячейки Excel 2002, а потом вынуть. Пришлите пример на мылои плия. Желательно в коде VBA.
Автор вопроса:
Nechaev Sergey
Ответ ожидается по этому
адресу
Прочитал, как можно заставить модем перезванивать при низкой скорости.
У меня же все полностью противоположно. Мне надо, чтобы модем коннектился только на 31200. Если больше, то связь очень плохая (такая, что за 10мин можно не получить не байта), а меньше смысла нет.
Автор вопроса:
IgorA
Ответ ожидается по этому
адресу
Как сделать всплывающую подсказку (ToolTipText)в 2 и более строк?
Ответы:
Вопрос:
Прочитал, как можно заставить модем перезванивать при низкой скорости.
У меня же все полностью противоположно. Мне надо, чтобы модем коннектился только на 31200. Если больше, то связь очень плохая (такая, что за 10мин можно не получить не байта), а меньше смысла нет.
Ответ:
Автор ответа:
Nechaev Sergey
Прочитал, как можно заставить модем перезванивать при низкой скорости.
У меня же все полностью противоположно. Мне надо, чтобы модем коннектился только на 31200. Если больше, то связь очень плохая (такая, что за 10мин можно не получить не байта), а меньше смысла нет.
Вопрос:
Как скопировать из папки все файлы одного расширения?
Ответ:
Автор ответа:
Mind Engine
Вот примерчик, сначала закидываются в массив все имена файлов, затем идет копир. Спросите, зачем используется Scripting, отвечу: в отличии от VB`шной FileCopy, здесь можно копирить открытые файлы, a FileCopy на таких вещах глюканет...
Option Explicit
Private Sub Command1_Click()
Dim inis As String, dest As String, filnam As String, store(), i As Long, v As Long, acs
inis = "C:\Winnt\" 'источник
dest = "C:\Temp\" 'приемник
filnam = Dir(inis & "*.dll") 'какие файлы копирить
Do While filnam <> ""
ReDim Preserve store(v)
store(v) = filnam
v = v + 1
filnam = Dir
Loop
Set acs = CreateObject("Scripting.FileSystemObject")
For i = LBound(store) To UBound(store)
acs.CopyFile inis & store(i), dest, True
Next
End Sub
Вопрос:
Как скопировать из папки все файлы одного расширения?
Ответ:
Автор ответа:
Bogdanov Alex
Главная проблема у тебя, на сколько я понял - это получить список файлов с определенным расширением из какой-нибудь папки. Для этого надо воспользоваться функцией Dir, которая первый раз вызывается с параметром, а остальные разы без и возвращает имя файла в папке с данным расширением. Например код типа:
FileName = Dir (FromPath & "*.exe")
Do While FileName
'Копируем FileName куда надо....
CopyFile FromPath & FileName, ToPath
FileName = Dir
Loop
Скопирует все EXE файлы из папки Windows в папку Folder. Надеюсь понятно.
Вопрос:
Скажите пожалуйста каким образом сделать переворот картинки по вертикали (горизонтали), делаю в PictureBox, верно ли?
Ответ:
Автор ответа:
Bogdanov Alex
Один из способов - это поворачивать изображение попиксельно ( впринципе все компоненты поступают именно этим способом), для этого лучше всего воспользоваться WinApi функциями GetPixel и SetPixel.
Declare Function GetPixel Lib "gdi32" Alias "GetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Declare Function SetPixel Lib "gdi32" Alias "SetPixel" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Тут в качестве hdc указываешь hdc своего Picture. Работает довольно быстро, но для больших изображений негодится.
P.S. Если сам рисуешь на Picture (не картинку грузишь), то не забудь установить свойство AutoRedraw = True
Вопрос:
Как на VB 6.0 под Windows 98/XP сделать так, чтобы программа добавляла сама себя в реестр или в автозагрузку?
Ответ:
Автор ответа:
Bogdanov Alex
В чем именно проблема? Ты не знаешь функций по работе с реестром или конкретно название секции для автозагрузки?
1. Если первое, то читай исходники VB Wizard'а. Там даны WinApi функции, которые это делают. Сам-то VB стандартными средствами не может писать данные в реестре абы куда, а только в свой раздел реестра.
2. Если же второе, то тебе нужна секция:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
Вопрос:
Пишу одну программу, что то вроде "удаленного администратора" так вот необходимо чтоб прога на компе пользователя, по команде по сети, замораживала комп. а потом опять размораживала. Причем нужно чтоб работало и в играх. (Просто нужно в игровом салоне. заплатил например за час, час работает потом бац все зависло.) Это можно сделать?
Ответ:
Автор ответа:
Bogdanov Alex
Интересная задачка!
Очень даже может быть.
Но для этого тебе придется написать две проги одну клиент, другую сервер. Все это достаточно легко реализовать, если ты когда-нибудь что-нибудь писал для сети. Если не писал, то скажу, что надо воспользоваться WinSock Control'ом. Описаний по нему в сети я видел немало, но если что пиши - кину. Вопрос в другом. Как именно должен "виснуть" комп. Если просто вырубаться, то это очень просто - есть:
Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Завершает работу с Windows.
Параметры
:
uFlags - Может принимать следующие значения:
Константа
Значение Действие
EWX_LOGOFF 0 Войти в систему под другим именем
EWX_SHUTDOWN 1 Завершить работу Windows и подготовить систему к выключению питания.
EWX_REBOOT 2 Перезагрузить компьютер.
EWX_FORCE 4 Аварийно завершить все процессы при завершении работы Windows.
Если сильно притормозить комп - то можно назначить своему процессу наивысший приоритет Windows и выполнить что-нибудь типа
Do
Loop
Короче об этом надо бы поподробнее...
Вопрос:
Программа пишет некие файлы на дискету. Если дискета не очеть хорошая - выдается синий экран типа "Невозможно произвести запись на диск А: Данные могу бить утеряны. Нажмите какую-то кнопку". Как в VB перехватить эту ошибку или избежать ее.
Ответ:
Автор ответа:
Bogdanov Alex
Напиши код типа:
Sub Copy2Flopy (FileName)
On Local Error Goto ErrFlp
...
'Тут код копирования
...
Exit Sub
ErrFlp:
'В случае ошибки управление перейдет именно на эту метку!
MsgBox "При копировании файла возникла ошибка " & Err
Resume Next
End Sub
Вопрос:
Как растянуть текст в графическом окне PictureBox, если текст периодически меняется и следовательно получается разного размера. Или хотя бы подогнать размеры окна под текст.
Ответ:
Автор ответа:
Shade
попробуй использовать функции
THeight= PictureBox.TextHeight (YourText as String)
TWidth = PictureBox.TextWidth (YourText as String)
и на основе полученных значений ты сможешь подогнать окно PictureBox'а
Вопрос:
Как добавить программно форму одинаковую даной
Ответ:
Автор ответа:
Dima
В проекте есть форма Form1
Dim x As Form1
Set x = New Form1
x.Show
Вопрос:
Как добавить программно форму одинаковую даной
Ответ:
Автор ответа:
Nechaev Sergey
dim MyNewForm as Form1
set MyNewForm=new Form1
mynewform.show
создает новую копию формы Form1 и отображает ее на экране.
Можете заполнить эту форму, либо отослать вопрос
СЮДА
Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта.
наверх