Как реализовать выбор цвета в простом графическом редакторе - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Ребят помогите, я написал с учебника программу , и теперь меня интересует как сделать чтоб на форме была кнопка выбор цвета или кнопка рандом . что писать в коде ? Заранее спасибо вот код программы

Решение задачи: «Как реализовать выбор цвета в простом графическом редакторе»

textual
Листинг программы
'Программа позволяет при нажатой левой кнопки или правой кнопке мыши рисовать в 
' форме 
Public Class Form1
    Dim Рисовать_ли As Boolean
    Private ВыбранныйЦвет As Color = Color.Black
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        Me.Text = "Рисую мышью в форме"
        Button1.Text = "Отчистить"
        Рисовать_ли = False
    End Sub
    Private Sub MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseDown
        Рисовать_ли = True ' Если нажата кнопка, то рисовать на форме 
    End Sub
    Private Sub MouseUp(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseUp
        Рисовать_ли = False ' Если не нажата кнопка, то рисовать на форме 
    End Sub
 
    Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As MouseEventArgs) Handles MyBase.MouseMove
        'Рисовать прямоугольник, если нажата кнопка мыши 
        If Рисовать_ли = True Then
            Dim Графика = CreateGraphics()
            Графика.FillRectangle(New SolidBrush(ВыбранныйЦвет),
                                  e.X, e.Y, 10, 10) 'Рисовать прямоугольник в точке 
            ' 10х10 пикселов – размеры сплошного прямоугольника 
            'e.X, e.Y – Координаты мыши 
            Графика.Dispose()
        End If
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As EventArgs) Handles Button1.Click
        ' Методы очистки формы 
        Dim Графика = CreateGraphics()
        Графика.Clear(Me.BackColor)
        ' этот метод перерисовывает форму  
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim dlgColor As New ColorDialog
        If dlgColor.ShowDialog = Windows.Forms.DialogResult.OK Then
            ВыбранныйЦвет = dlgColor.Color 'выбранный цвет
            sender.BackColor = ВыбранныйЦвет
            dlgColor.Dispose() : GC.Collect()
        End If
    End Sub
End Class

Оцени полезность:

15   голосов , оценка 3.933 из 5
Похожие ответы