Как изменить изображение, отображаемое picturebox из-за пределов формы
Обычно, когда я хочу изменить изображение, отображаемое pictureBox из формы Windows, я запускаю такое событие:
private: System::Void PicBoxMonton1_DoubleClick(System::Object^ sender, System::EventArgs^ e) { if (this->PicBoxMonton1->Image != Image::FromFile(Glo::m_Empty)) { this->PicBoxMonton1->Image = Image::FromFile(Glo::m_Empty); .... .... } }
Этот синтаксис (this- & gt;PicBoxMonton1 - >Image) не работает, когда я пытаюсь выполнить если оператор из функции, написанный в отдельном .СРР файл, где находятся все мои функции.
Я новичок.
Какие параметры мне нужно передать функции?
Как я могу изменить инструкцию внутри если заявление?
Что я уже пробовал:
Все в пределах моего ограниченного опыта. И я не нашел ни одного примера, чтобы проиллюстрировать себя.
Richard MacCutchan
Это потому, что this
ключевое слово относится к заключающему классу. В этом случае форма, содержащая обработчик события. Вам нужно получить ссылку на форму, чтобы вызвать этот метод.
Terence Moore
Именно так. Таково было мое понимание с самого начала. Но как построить ссылку на форму? Я пробовал такие вещи, как namespace::MyForm->pictureBox->Image, но безуспешно. Спасибо.
Richard MacCutchan
Вы его не создаете. Когда вы создаете форму в первую очередь, вам нужно где-то сохранить ссылку.