Обратитесь к Picture Box выбран - PullRequest
0 голосов
/ 21 апреля 2020

Я новичок в C# и хочу изменить размер некоторых Picturebox на основе одного значения трекбара. Если я напишу приведенный ниже код, ссылаясь на графический ящик spesifi c (например, Picturebox1 вместо PB), он будет работать, но я хотел бы использовать одно событие Doubleclick для всех Picturebox, которые я Doubleclick.

Приведенный ниже код дает PB = null. Я получаю выбранное имя Picturebox, но как я могу обратиться к этому Picturebox?

'' '

  private void PictureBoxesDoubleClick(object sender, EventArgs e)
        {
            //get the selected Picturebox name
            String PictureBoxName = ((PictureBox)sender).Name;

        //This part doesn't work
        PictureBox PB = (PictureBox)this.Controls[PictureBoxName];

        //Resize the Picture box according to the trackBar Value
        PB.Size = new Size(trackBar1.Value, trackBar1.Value);
        PB.Left = (this.ClientSize.Width - pictureBox1.Width) / 2;
        PB.Top = (this.ClientSize.Height - pictureBox1.Height) / 2;
     }

' ''

Какой PictureBox был выбран? C#

Спасибо

1 Ответ

0 голосов
/ 21 апреля 2020

Это обычная функция, которую я использовал для двух графических блоков по двойному щелчку, и она работает нормально. Проверьте, есть ли у вас также общая функция для всех графических блоков в форме.

private void pictureBox1_DoubleClick(object sender, EventArgs e)
{
    //get the selected Picturebox name
    String PictureBoxName = ((PictureBox)sender).Name;

    PictureBox PB = (PictureBox)this.Controls[PictureBoxName];

    //Resize the Picture box according to the trackBar Value

    PB.Size = new Size(trackBar1.Value*10, trackBar1.Value*10);
    PB.Left = (this.ClientSize.Width - pictureBox1.Width) / 2;
    PB.Top = (this.ClientSize.Height - pictureBox1.Height) / 2;

}

Two picture boxes having the same double click event.This is the image before any double click event is fired.

This is when the double click is fired on both the picture boxes.

...