Alexvip81
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Доброго времени суток! Модераторы - прошу прощения если оформляю тему как то не так ( делаю это в первый раз) Исходные данные: Для рабочих целей пишу программу на C# в VisualStudio. На главной форме программы имеются 4 PictureBox. (фото) Задача: Сделать контекстное меню для этих PictureBox, с пунктом "Сохранить как..." При этом должна сохраняться Image того PictureBox - с которого было активировано контекстное меню. Проблема: Написал код, в котором для каждого PictureBox - есть свое ContextMenu... всего их 4. Все работает. Но хочется сделать изящнее. Функционал у всех ContextMenu один и тот же. Поэтому пробую сделать одно контекстное меню для всех PictureBox. сохраняю картинку так: Bitmap bmpSave = (Bitmap)PictureBox1.Image; SaveFileDialog.Filter = ".jpg|*.jpg"; SaveFileDialog.FileName = "Foto"; if (saveFotoDialog.ShowDialog() == DialogResult.OK) { bmpSave.Save(SaveFileDialog.FileName, ImageFormat.Jpeg); } Вопрос: Как в первой строке приведенного кода, вместо PictureBox1.Image - можно указать Image того PictureBox , по которому произведен клик мыши??? В программировании я новичок. Учусь самостоятельно. В примерах использования ContextMenu нигде не нашел как применять одно меню для нескольких элементов. Наткнулся на один форум в котором было сказано, что можно получить имя объекта, с которого было вызвано это меню: contextMenu.SourceControl.Name Но так я только получаю имя (string) нужного PictureBox и дальше не знаю как получить доступ к его свойствам... |