- •Министерство образования и науки Российской Федерации
- •Среда разработки VisualBasic
- •Лабораторная работа № 2
- •Задание 5
- •Задание 6
- •Контрольные вопросы
- •Лабораторная работа № 3 применение массивов, процедур и функций Задание 1
- •Задание 2
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •Контрольные вопросы
- •Лабораторная работа № 4
- •Формы и элементы управления
- •Цель работы: Изучение элементов управления vb
- •Задание 1
- •Задание 2
- •Примеры кодов
Примеры кодов
Установление свойств
Свойства ForeColor и BackColor оказывают влияние на форму и элементы управления, расположенные на форме. Изменяя ForeColor, вы изменяете и свойство ForeColor элемента управления на форме, за исключением случая, когда явно установлен цвет, отличный от цвета формы.
Пример:
установка цвета формы и кнопок на форме
Me.ForeColor = Color.White
Me.BackColor = Color.CadetBlue
установка цвета кнопки и цвета шрифта на кнопке
'Цвет кнопки
Button1.BackColor = Color.Cornsilk
'Цвет шрифта
Button1.ForeColor = Color.Black
Код перемещения формы:
If Me.Left = 100 Then
Me.Left = 400
Me.Top = 200
Else
Me.Left = 100
Me.Top = 75
End If
Код появления и скрытия формы:
Dim frm As New Form()'создание экземпляра формы
Dim g As Graphics = frm.CreateGraphics
frm.Text = "Изображение формы" 'Наменование формы
frm.Show() 'вывод формы на экран
'рисование квадрата на форме
g.DrawRectangle(Pens.Black, 100, 100, 100, 100)
MsgBox("Скрыть форму")
frm.Hide() 'Скрытие формы
MsgBox("Показать форму 2")
Form2.Show()
MsgBox("Закрыть форму 2")
Form2.Close()
Изменение вида формы
MsgBox(" ИЗМЕНИТЬ fixed3D ")
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.Fixed3D
MsgBox(" ИЗМЕНИТЬ None")
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None
MsgBox(" ИЗМЕНИТЬ без изменения размеров ")
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedSingle
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
' создание ToolTip (подсказки)
Dim toolTip1 As New ToolTip()
'AutoPopDelay Получает или задает интервал времени, в течение которого всплывающая
' подсказка отображается на экране, когда указатель мыши останавливается в
'границах элемента управления с текстом данной подсказки.
toolTip1.AutoPopDelay = 5000
'InitialDelay Получает или задает интервал времени перед появлением всплывающей подсказки.
toolTip1.InitialDelay = 1000
'ReshowDelay Получает или задает интервал времени, который должен пройти перед
'появлением окна очередной всплывающей подсказки при перемещении
' указателя мыши с одного элемента управления на другой.
toolTip1.ReshowDelay = 500
' Force the ToolTip text to be displayed whether or not the form is active.
'ShowAlways Получает или задает значение, показывающее, отображается ли окно
'всплывающей подсказки, если родительский элемент управления не активен.
toolTip1.ShowAlways = True
' Подсказка ToolTip для кнопок и текстового ящика
toolTip1.SetToolTip(Me.Button1, "My button1")
toolTip1.SetToolTip(Me.TextBox1, "Строка для поиска")
toolTip1.SetToolTip(Me.Button13, "Тип пользователя")
End Sub
Sub Mass()
Dim sA(1) As String
Dim iA(1, 1) As Integer
Dim rA(1, 1, 1) As Double
'переопределение массива
ReDim sA(2)
sA(0) = "ПН"
sA(1) = "ВТ"
sA(2) = "СР"
ReDim iA(2, 2)
iA(0, 0) = 11
iA(0, 1) = 12
iA(0, 2) = 15
iA(1, 0) = 13
iA(1, 1) = 14
iA(1, 2) = 11
iA(2, 0) = 13
iA(2, 1) = 14
iA(2, 2) = 97
MsgBox("iA(0,0) = " & iA(0, 0))
MsgBox("iA(2,2) = " & iA(2, 2))
ReDim rA(2, 2, 2)
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button8.Click
' определение длины строки
Dim str1 As String
Dim length As Integer
str1 = TextBox1.Text
length = str1.Length
'вывод данных на форму
Dim g As Graphics = CreateGraphics()
Dim f As Font = Form1.DefaultFont
Dim b As New SolidBrush(Color.Black)
g.Clear(Color.Brown)
g.DrawString(length, f, b, 250, 75)
Label2.Text = length
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button9.Click
Dim str1, str2 As String
Dim length As Integer
str1 = TextBox1.Text
'извлечение части строки метод Substring()
Dim n, m As Byte
n = InputBox("ВВЕДИТЕ НАЧАЛЬНЫЙ СИМВОЛ СТРОКИ")
m = InputBox("ЧИСЛО СИМВОЛОВ ИЗВЛЕЧЕНИЯ")
str2 = str1.Substring(n, m)
Label3.Text = str2
'извлечение части строки метод Substring()
MsgBox("Отсчет с конца строки")
n = InputBox("ВВЕДИТЕ НАЧАЛЬНЫЙ СИМВОЛ СТРОКИ-отсчет с конца строки")
m = InputBox("ЧИСЛО СИМВОЛОВ ИЗВЛЕЧЕНИЯ")
length = str1.Length
str2 = str1.Substring(length - n, m)
Label3.Text = str2
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button10.Click
'Поиск строк - метод IndexOf
Dim str1 As String
Dim str2 As String
Dim msg As String
Dim length As Integer
Dim sl As String
Dim position As Integer
str1 = TextBox1.Text
sl = TextBox2.Text ' слово для поиска
length = sl.Length 'определение длины
position = str1.IndexOf(sl) 'нахождение первого символа
str2 = str1.Substring(position, length) 'извлечение выделенного слова
msg = "Первое нахождение строки" & "'" & sl & "'"
msg = msg & " в позиции " & position
MsgBox(msg) ' вывод первого нахождения
msg = msg & vbCrLf & vbCrLf
position = str1.IndexOf(sl, position + 1)
str2 = str1.Substring(position, length)
msg = "Второе нахождение строки" & "'" & sl & "'"
msg = msg & " в позиции " & position
msg = msg & vbCrLf & vbCrLf
MsgBox(msg) ' второго нахождения
position = str1.IndexOf(sl, position + 1)
msg = "Третье нахождение строки" & "'" & sl & "'"
msg = msg & " в позиции " & position
MessageBox.Show(msg)
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button11.Click
'изменение регистра
Dim stvar As String = TextBox1.Text
Dim var1 As String
Label7.Hide()
MsgBox("перевести в нижний регистр")
var1 = stvar.ToLower
TextBox1.Text = var1
Label6.Text = "stvar.ToLower"
Label6.Show()
MsgBox("перевести в верхний регистр")
var1 = stvar.ToUpper
Label6.Hide()
TextBox1.Text = var1
Label7.Text = "stvar.ToUpper"
Label7.Show()
End Sub
Public Structure Record
Dim Имя As String
Dim Фамилия As String
Dim Телефон As Long
End Structure
Private Sub TestRecord()
Dim Rec As Record
Rec.Имя = TextBox3.Text
Rec.Фамилия = TextBox4.Text
Rec.Телефон = TextBox5.Text
Debug.WriteLine(Rec.Имя & vbCr _
& Rec.Фамилия & vbCr _
& Rec.Телефон)
End Sub
Sub main3()
'отработка ошибок
Dim str As String, res As Double, a As Double
str = TextBox6.Text
Label13.Text = str
Try
a = Convert.ToDouble(Str) ' Будет генерироваться исключение
Catch ex As FormatException
Debug.WriteLine(ex.ToString())
Exit Sub
End Try
res = -2 * a
Label14.Text = res
Debug.WriteLine(res)
End Sub
Public Sub main4()
Dim name As String, Ing As Integer, i As Integer
name = InputBox("Введите имя")
Ing = name.Trim.Length
If Ing = 0 Then
MessageBox.Show("Забыли ввести имя")
Exit Sub
Else
For i = 0 To Ing - 1
If Not name.Substring(i, 1) Like "[A-Z]" Then
MessageBox.Show("Имя состоит только " & ControlChars.Cr _
& "из букв латинского алфавита")
Exit Sub
End If
Next i
End If
MessageBox.Show("Привет, " & name)
End Sub
Private Sub Button19_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button19.Click
Dim Result() As Integer
ReDim Result(0)
Dim Attempt As Integer = 0 ' Размерность массива
Dim Score As Integer = 0 ' случайное число
Dim rndm As New Random() ' объект
Do Until Score = 6
Attempt = Attempt + 1
Score = rndm.Next(1, 12)
ReDim Preserve Result(Attempt)
Result(Attempt) = Score
MsgBox(" Случайное число " & Score & " Элементов массива " & Attempt)
Loop
MsgBox(" Число бросков " & Score & " Элементов массива " & Attempt)
Dim i As Integer
For i = 1 To Result.GetUpperBound(0)
Debug.WriteLine(i & " : " & Result(i))
Next i
End Sub