Отчет по практике по ТРИЗБД в работе с языками C# и Visual basic. Отчет по практике. Оглавление 1 Изм. Лист докум. Подп. Дата 1 Проверил Гатауллина Ф. Ф. 1
Скачать 1.49 Mb.
|
Лабораторно-практическая работа №4Самостоятельная 1Цель: Разработать приложение «Состав компьютера». Приложение должно состоять из 7-ми форм. Первая (стартовая) форма –имеет меню (см. образец), которое позволяет выводить другие формы. На каждой из форм (с 2 по7) находится изображение компонента компьютера и текст о его назначении, кроме того имеется пункт меню для возврата на стартовую форму. Рис 30(а). Запущенное окно самостоятельной работы№1 (Окно меню) Рис 30(б). Вывод картинок Перечень используемых объектов: Button, ToolStripMenuItem, PictureBox Код программы: Public Class Form1 “выводим по нажатию нужную форму с картинкой Private Sub ДискToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ДискToolStripMenuItem.Click Form2.Show() End Sub “выводим по нажатию нужную форму с картинкой Private Sub ДисководToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles ДисководToolStripMenuItem.Click Form3.Show() End Sub “выводим по нажатию нужную форму с картинкой Private Sub МышьToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles МышьToolStripMenuItem.Click Form4.Show() End Sub “выводим по нажатию нужную форму с картинкой Private Sub МониторToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles МониторToolStripMenuItem.Click Form5.Show() End Sub Private Sub НоутбукToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles НоутбукToolStripMenuItem.Click Form6.Show() End Sub “выводим по нажатию нужную форму с картинкой Private Sub СартфонToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles СартфонToolStripMenuItem.Click Form7.Show() End Sub “выход Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Close() End Sub End Class Самостоятельная 2Цель: Разработать приложение «Цветные карандаши». Приложение должно позволять рисовать зеленым, синим, красным и желтым карандашами, а также использовать стёрку. Кроме этого, при перемещении курсора по кнопкам с карандашами, в метку выводить подсказку о назначении инструмента рисования. Форму разработать в соответствии с образцом. Рис 31. Запущенное окно самостоятельной работы №2 Перечень используемых объектов: Button, Label, ColorDialog, GroupBox, PictureBox Код программы: Public Class Form1 “Переменные Dim CurrentColor As Color Dim isPressed As Boolean Dim CurrentPoint As Point Dim PrevPoint As Point Dim g As Graphics Dim p As Pen Dim D As DialogResult “Начальный цвет чёрный Private Sub Form9_Load(sender As Object, e As EventArgs) Handles MyBase.Load CurrentColor = Color.Black g = Panel1.CreateGraphics End Sub Private Sub paint_simple() p = New Pen(CurrentColor, 1) g.DrawLine(p, PrevPoint, CurrentPoint) End Sub Private Sub Panel1_MouseUp(sender As Object, e As MouseEventArgs) Handles Panel1.MouseUp isPressed = False End Sub “Рисуем Private Sub Panel1_MouseMove(sender As Object, e As MouseEventArgs) Handles Panel1.MouseMove If isPressed Then PrevPoint = CurrentPoint CurrentPoint = e.Location paint_simple() End If End Sub Private Sub Panel1_MouseDown(sender As Object, e As MouseEventArgs) Handles Panel1.MouseDown isPressed = True CurrentPoint = e.Location End Sub “цвет красный Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click CurrentColor = Color.Red p = New Pen(CurrentColor, 1) Label1.Text = "Красный" End Sub Private Sub PictureBox1_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseDown PictureBox1.BackColor = Color.Gray End Sub Private Sub PictureBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseUp PictureBox1.BackColor = Color.Transparent End Sub “цвет синий Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles PictureBox2.Click CurrentColor = Color.Blue p = New Pen(CurrentColor, 1) Label1.Text = "Синий" End Sub “цвет зелёный Private Sub PictureBox3_Click(sender As Object, e As EventArgs) Handles PictureBox3.Click CurrentColor = Color.Green p = New Pen(CurrentColor, 1) Label1.Text = "Зеленый" End Sub Private Sub PictureBox2_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox2.MouseDown PictureBox2.BackColor = Color.Gray End Sub Private Sub PictureBox2_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox2.MouseUp PictureBox2.BackColor = Color.Transparent End Sub Private Sub PictureBox3_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox3.MouseDown PictureBox3.BackColor = Color.Gray End Sub Private Sub PictureBox3_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox3.MouseUp PictureBox3.BackColor = Color.Transparent End Sub “цвет оранжевый Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles PictureBox4.Click CurrentColor = Color.Orange p = New Pen(CurrentColor, 1) Label1.Text = "Оранжевый" End Sub Private Sub PictureBox4_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox4.MouseDown PictureBox4.BackColor = Color.Gray End Sub Private Sub PictureBox4_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox4.MouseUp PictureBox4.BackColor = Color.Transparent End Sub “ластик Private Sub PictureBox5_Click(sender As Object, e As EventArgs) Handles PictureBox5.Click CurrentColor = Color.White p = New Pen(CurrentColor, 10) Label1.Text = "Ластик" End Sub Private Sub PictureBox5_MouseDown(sender As Object, e As MouseEventArgs) Handles PictureBox5.MouseDown PictureBox5.BackColor = Color.Gray End Sub Private Sub PictureBox5_MouseUp(sender As Object, e As MouseEventArgs) Handles PictureBox5.MouseUp PictureBox5.BackColor = Color.Transparent End Sub “выбор цвета Private Sub PictureBox6_Click(sender As Object, e As EventArgs) Handles PictureBox6.Click D = ColorDialog1.ShowDialog() If D = System.Windows.Forms.DialogResult.OK Then CurrentColor = ColorDialog1.Color Label1.Text = "Custom" End If End Sub “очистка Private Sub PictureBox7_Click(sender As Object, e As EventArgs) Handles PictureBox7.Click Panel1.Refresh() End Sub “Выход Private Sub PictureBox8_Click(sender As Object, e As EventArgs) Handles PictureBox8.Click Me.Close() End Sub End Class Самостоятельная 3Цель: Создать игровую программу с управлением клавиатурой Рис 32. Запущенное окно самостоятельной работы №3 (игра с управление от клавиатуры) Перечень используемых объектов: Panel, Picture box Код программы: Public Class Form5 Dim leftmove, upmove As Boolean ‘Движение шара по таймеру Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick If leftmove = True Then PictureBox1.Left += 10 End If If leftmove = False Then PictureBox1.Left -= 10 End If If upmove = True Then PictureBox1.Top += 10 End If If upmove = False Then PictureBox1.Top -= 10 End If If PictureBox1.Left <= ClientRectangle.Left Then leftmove = True End If If PictureBox1.Right >= ClientRectangle.Right Then leftmove = False End If If PictureBox1.Top <= ClientRectangle.Top Then upmove = True End If If PictureBox1.Bottom >= ClientRectangle.Bottom Then upmove = False End If If PictureBox1.Top <= ClientRectangle.Top Then upmove = True End If If PictureBox1.Bottom >= ClientRectangle.Bottom Then upmove = False End If Dim r1 As Rectangle = New Rectangle With {.Location = PictureBox1.Location, .Size = PictureBox1.Size} Dim r2 As Rectangle = New Rectangle With {.Location = Panel1.Location, .Size = Panel1.Size} If r1.IntersectsWith(r2) Then upmove = False End If End Sub ’Движение нижней панели с помощью клавиатуры Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint End Sub Private Sub Form5_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown If e.KeyCode = Keys.A And Panel1.Left >= 5 Then Panel1.Left = Panel1.Left - 10 End If If e.KeyCode = Keys.D And Panel1.Left <= Form1.Width + 50 Then Panel1.Left = Panel1.Left + 10 End If End Sub End Class Текстовый редакторРазработайте приложение «Новый текстовый редактор». Редактор должен позволять вводить и редактировать текст, выполнять копирование и перемещение текста с помощью панели инструментов, а также удалять весь текст. Редактор имеет следующее меню: Вид Выход Стандартная панель В программе предусмотреть следующее: При выборе подпункта «Стандартная панель» панель отображается в окне редактора или убирается Стандартную панель можно перемещать буксировкой При перемещении курсора по пиктограммам панели, в заголовке формы выводить подсказку о назначении инструмента Если текст не выделен, инструменты «Вырезать» и «Копировать» должны быть недоступны Если буфер обмена пуст, инструмент «Вставить» должен быть недоступным. Картинки для инструментов находятся в Graphics \ Bitmaps \ Offctbr \ Large \ B&W Рис 33. Запущенное окно текстового редактора Перечень используемых объектов: RichTextBox, OpenFileDialog, SaveFileDialog, MessageBox, ToolStripMenuItem, FontDialog, ColorDialog Код программы: Public Class Form1 “описание текстового документа и с какими форматами работает Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load RichTextBox1.Multiline = Nothing RichTextBox1.Clear() Me.Text = "Word" OpenFileDialog1.FileName = Nothing OpenFileDialog1.Filter = "Текстовые файлы(*.RTF)|*.RTF|All files(*.*)|*.*" SaveFileDialog1.Filter = "Текстовые файлы(*.RTF)|*.RTF|All files(*.*)|*.*" End Sub “открывает меню Private Sub ОткрытьToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ОткрытьToolStripMenuItem.Click, ToolStripButton6.Click OpenFileDialog1.ShowDialog() If OpenFileDialog1.FileName = Nothing Then Exit Sub Try Dim Читатель As New IO.StreamReader(OpenFileDialog1.FileName, System.Text.Encoding.GetEncoding(1251)) RichTextBox1.Text = Читатель.ReadToEnd() Читатель.Close() Catch ex As System.IO.FileNotFoundException MessageBox.Show("Нет такого файла", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) Catch ex As Exception MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End Try End Sub “сохранить Private Sub СохранитьКакToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles СохранитьКакToolStripMenuItem.Click, ToolStripButton7.Click SaveFileDialog1.FileName = OpenFileDialog1.FileName If SaveFileDialog1.ShowDialog = DialogResult.OK Then Запись() End Sub Private Sub Запись() Try Dim Писатель As New IO.StreamWriter(SaveFileDialog1.FileName, False, System.Text.Encoding.GetEncoding(1251)) Писатель.Write(RichTextBox1.Text) Писатель.Close() RichTextBox1.Modified = False Catch ex As Exception MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End Try End Sub “выход Private Sub ВыходToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ЗакрытьToolStripMenuItem.Click Me.Close() End Sub Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing If RichTextBox1.Modified = False Then Exit Sub Dim Mbox As DialogResult = MessageBox.Show("Текст был измеен" & vbCrLf & "Сохранить изменения?", "Простой редактор", MessageBoxButtons.YesNoCancel) If Mbox = DialogResult.No Then Exit Sub If Mbox = DialogResult.Yes Then If Mbox = DialogResult.Cancel Then e.Cancel = True If SaveFileDialog1.ShowDialog = DialogResult.OK Then Запись() : Exit Sub Else e.Cancel = True End If End If End Sub Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged RichTextBox1.Multiline = True End Sub “цвет Private Sub ЦветToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ЦветToolStripMenuItem.Click, ToolStripButton2.Click If ColorDialog1.ShowDialog() = DialogResult.OK Then End If RichTextBox1.SelectionColor = ColorDialog1.Color End Sub “по правму краю Private Sub ПоПравомуToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ПоПравомуToolStripMenuItem.Click, ToolStripButton5.Click RichTextBox1.SelectionAlignment = HorizontalAlignment.Right End Sub “по центру Private Sub ПоЦентруToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ПоЦентруToolStripMenuItem.Click, ToolStripButton4.Click RichTextBox1.SelectionAlignment = HorizontalAlignment.Center End Sub “шрифт Private Sub ШрифтToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles ШрифтToolStripMenuItem.Click, ToolStripButton1.Click If FontDialog1.ShowDialog() = DialogResult.OK Then End If RichTextBox1.SelectionFont = FontDialog1.Font End Sub “по левому краю Private Sub ПоЛевомуToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ПоЛевомуToolStripMenuItem.Click, ToolStripButton3.Click RichTextBox1.SelectionAlignment = HorizontalAlignment.Left End Sub “по центру Private Sub ПоЦентруToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ПоЦентруToolStripMenuItem1.Click RichTextBox1.SelectionAlignment = HorizontalAlignment.Center End Sub “по правому Private Sub ПоПравомуКраюToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ПоПравомуКраюToolStripMenuItem.Click RichTextBox1.SelectionAlignment = HorizontalAlignment.Right End Sub “выход Private Sub ВыходToolStripMenuItem_Click_1(sender As Object, e As EventArgs) Handles ВыходToolStripMenuItem.Click Me.Close() End Sub “печать Private Sub ПечатьToolStripButton_Click(sender As Object, e As EventArgs) Handles ПечатьToolStripButton.Click PrintPreviewDialog1.Document = PrintDocument1 PrintPreviewDialog1.ShowDialog() End Sub “вырезать Private Sub ВырезатьToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ВырезатьToolStripMenuItem.Click Clipboard.SetText(RichTextBox1.Text) RichTextBox1.Text = "" End Sub “копировать Private Sub КопироватьToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles КопироватьToolStripMenuItem.Click Clipboard.SetText(RichTextBox1.Text) End Sub “вставить Private Sub ВставитьToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ВставитьToolStripMenuItem.Click RichTextBox1.Text = Clipboard.GetText End Sub “удалить Private Sub УдалитьToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles УдалитьToolStripMenuItem.Click RichTextBox1.Text = "" End Sub “по левому краю Private Sub ЛевомуКраюToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ЛевомуКраюToolStripMenuItem.Click RichTextBox1.SelectionAlignment = HorizontalAlignment.Left End Sub “шрифт Private Sub ШрифтToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ШрифтToolStripMenuItem1.Click If FontDialog1.ShowDialog() = DialogResult.OK Then End If RichTextBox1.SelectionFont = FontDialog1.Font End Sub “цвет Private Sub ЦветToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ЦветToolStripMenuItem1.Click If ColorDialog1.ShowDialog() = DialogResult.OK Then End If RichTextBox1.SelectionColor = ColorDialog1.Color End Sub “сохранить Private Sub СохранитьToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles СохранитьToolStripMenuItem.Click SaveFileDialog1.FileName = OpenFileDialog1.FileName If SaveFileDialog1.ShowDialog = DialogResult.OK Then Запись() End Sub “печать Private Sub ПечатьToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ПечатьToolStripMenuItem.Click PrintPreviewDialog1.Document = PrintDocument1 PrintPreviewDialog1.ShowDialog() End Sub “вырезать Private Sub ВырезатьToolStripButton_Click(sender As Object, e As EventArgs) Handles ВырезатьToolStripButton.Click Clipboard.SetText(RichTextBox1.Text) RichTextBox1.Text = "" End Sub “копировать Private Sub КопироватьToolStripButton_Click(sender As Object, e As EventArgs) Handles КопироватьToolStripButton.Click Clipboard.SetText(RichTextBox1.Text) End Sub “вставка Private Sub ВставкаToolStripButton_Click(sender As Object, e As EventArgs) Handles ВставкаToolStripButton.Click RichTextBox1.Text = Clipboard.GetText End Sub End Class |