clwprogrammer
Попробуйте выполнить следующие действия:
Шаг 1: Во-первых, давайте начнем с пустого проекта для целей обучения.
Итак, начните с создания нового проекта и назовите его так, как вы хотите.
После загрузки проекта перейдите к Шагу 2.
Шаг 2: Продолжайте и добавьте вторую форму в свой проект. Может быть, назовем эту форму frmColorPicker. В frmColorPicker добавьте нужное количество pictureboxes для цветовой палитры и установите для их свойств BackColor нужные цвета.
- Дважды щелкните любой из PictureBoxes, чтобы открыть редактор кода. Вы заметите, что он вызовет обработчик щелчков PictureBoxes.
-На линии, где он говорит, что отдельный суб Picturebox_Click.....Ручками...
мы собираемся сообщить синтаксическому анализатору, что эта Подпроцедура будет обрабатывать более одного события щелчка объекта, добавляя каждое имя объекта через запятую
Private Sub PictureBox1_Click(sender As Object, e As System.EventArgs) Handles PictureBox1.Click, PictureBox2.Click '<--This is where we append the objects
ActivePbox.BackColor = sender.backcolor
Me.Close()
End Sub
-Кроме того, пока мы находимся в редакторе кода, продолжайте добавлять код ниже
Dim ActivePbox As PictureBox
Public Function SelectColor(PictureboxToChange As PictureBox)
ActivePbox = PictureboxToChange
Me.ShowDialog()
End Function
-И добавьте код из обработчика событий click сверху внутри обработчика событий click picturebox.
Шаг 3: Вернитесь к форме 1. Добавьте в форму нужные вам графические поля.
- Дважды щелкните один из графических блоков, чтобы открыть редактор кода. Вы снова заметите, что обработчик события click будет там. Продолжайте и добавьте другие pictureboxes, как вы сделали на Шаге 2.
- Здесь мы добавим следующий код.
frmColorPicker.SelectColor(sender)
----------------------------------------------------------------------------------
ПРОВЕРЬТЕ СВОЙ КОД:Код Form1 должен выглядеть аналогично следующему коду:Public Class Form1
Private Sub PictureBox1_Click(sender As System.Object, e As System.EventArgs) Handles PictureBox1.Click, PictureBox2.Click, PictureBox3.Click, PictureBox4.Click
frmColorPicker.SelectColor(sender)
End Sub
End Class
код frmColorPicker должен быть похож на следующий код:Public Class frmColorPicker
Dim ActivePbox As PictureBox
Public Function SelectColor(PictureboxToChange As PictureBox)
ActivePbox = PictureboxToChange
Me.ShowDialog()
End Function
Private Sub PictureBox1_Click(sender As Object, e As System.EventArgs) Handles PictureBox1.Click, PictureBox2.Click
ActivePbox.BackColor = sender.backcolor
Me.Close()
End Sub
End Class
----------------------------------------------------------------------------------
Помогает ли это вам делать то, что вы хотите?