Member 10974007 Ответов: 1

Как изменить цвет объекта PictureBox выбрать другую форму управления PictureBox


Как изменить цвет объекта PictureBox выбрать другой форме Form2 элемент управления PictureBox
подумайте, что у меня есть четыре графических поля в моей форме form1 в качестве загрузочной формы
теперь у меня есть вторая форма с четырьмя backcolored управления PictureBox С по-разному окрашенных элемент управления PictureBox

как при запуске приложения
и нажмите на картинку-окно from2 заполняется
теперь цвет должен быть обеспечен этим

использование метода отправителя...

Что я уже пробовал:

Dim jb As PictureBox = DirectCast(sender, PictureBox)
      jb.BackColor = form1.sender.backcolor

clwprogrammer

что именно ты пытаешься здесь сделать? вы пытаетесь сделать что-то вроде подборщика цветов? если да,то пробовали ли вы использовать цветной диалог вместо другой формы с цветными картинками? ваш вопрос не совсем ясен.

Member 10974007

да выбор цвета не нравится встроенный выбор цвета

1 Ответов

Рейтинг:
1

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


----------------------------------------------------------------------------------
Помогает ли это вам делать то, что вы хотите?


Member 10974007

могу ли я получить полные коды ?
как новенький vb.net ...
не работай со мной

Member 10974007

есть несколько картинных коробок в форме-1(например, 4 из них) и 12 картин в форме-2 (цвета )
мне нужно полное объяснение

clwprogrammer

из любопытства, помогло ли вам это решение сделать то, что вы пытаетесь сделать? я не получал ответа уже пару недель, так что не был уверен, что вы видели решение.