C # Повторное изображение в PictureBox - PullRequest
0 голосов
/ 29 декабря 2011

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

Я собрал клавиатуру и посох, и каждая клавиша, нажимаемая пользователем, отображается в соответствующей позиции на посохе.

Моя проблема в том, что изображение повторяется за пределами первой клавиши (будь то любая клавиша).Например, если я нажимаю клавишу во второй раз, на аппарате отображаются два изображения для этой конкретной клавиши.Если я нажму пятую клавишу (будь это любая клавиша), на аппарате отобразятся пять изображений.

Как мне решить эту проблему, пожалуйста?Я хочу отображать только одно изображение для каждого ключа.Спасибо.

Редактировать

Я решил проблему.Спасибо:)

Ответы [ 2 ]

0 голосов
/ 29 декабря 2011

может сделать что-то подобное, если image.name уникально

picBox[cnt].Image = image.Name;
if(!panel3.Controls.Find(image.Name)!=null){ //add contol to panel}
0 голосов
/ 29 декабря 2011

Исходя из кода, предполагается, что каждое нажатие клавиши будет добавлять поле с изображением / изображением на панель3, что в конечном итоге потребляет все ресурсы.Рекомендуется сначала проверить, есть ли там изображение, и, если оно есть, больше не добавлять addPictureBox, а выводить его вперед или переключать их видимость.

Кстати: если вы хотите анимироватьэффект нажатия клавиши, использование изображения гораздо менее эффективно, вы можете рассмотреть возможность использования OpenGL или DirectX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...