Какой фотобокс был выбран?C # - PullRequest
0 голосов
/ 30 декабря 2011

Я работаю на пианино в C #.Я столкнулся с небольшой проблемой.

У меня есть клавиатура пианино, которая при нажатии отображает соответствующую заметку на персонале.

Созданные заметки хранятся в массиве типа PictureBox, называемомpicBox.Я создал следующий обработчик событий, однако он не работает.

private void pictureBox_Click(object sender, MouseEventArgs e)
        {
            picBox[0].MouseDown += new MouseEventHandler(pic_Click); //testing for first location
        }

    private void pic_Click(object sender, MouseEventArgs e)
    {
        ClickedTextBox.Text = "I was clicked";
    }

Я просто проверяю, нажала ли первая заметка.Почему это не работает?

Вот метод, который добавляет изображение (содержащее примечание) к персоналу (панель 3).

public void addPictureBox(int x, int y, Image image)
        {
        picBox[cnt] = new PictureBox();

        picBox[cnt].Image = image;
        picBox[cnt].Location = new Point(x, y);
        picBox[cnt].BackColor = Color.Transparent;

        panel3.Controls.Add(picBox[cnt]);
        picBox[cnt].BringToFront();
        cnt++;
    }

Что не так с моим обработчиком событий, пожалуйста?Кроме того, что я могу сделать, чтобы идентифицировать местоположение в массиве clickbox?Спасибо

1 Ответ

1 голос
/ 30 декабря 2011

Как сказано в первом комментарии, вы подписаны на событие в неправильном месте.

Также используйте параметр sender в вашем обработчике событий, чтобы узнать, в каком из Picturebox нажата кнопка (он будет содержать экземпляр Picturebox).

...