VB.NET Расширение изображения при предотвращении кликов по форме

Я разрабатываю приложение WinForm с использованием VB.NET (я также свободно владею С#, поэтому публикую сообщения на любом языке) и столкнулся с некоторыми проблемами.

У меня есть изображение в моей форме, которое я хотел бы развернуть при нажатии. У меня есть вся эта логика, но я хочу, чтобы при ее расширении пользователь должен был щелкнуть «X» в правом верхнем углу PictureBox, чтобы закрыть развернутое изображение. Пока изображение отображается, я не хочу, чтобы пользователь мог взаимодействовать с остальной частью пользовательского интерфейса в форме.

По сути, мне нужно что-то вроде (извините меня за переход на HTML, но я знаю, что это работает там), создать div, который покрывает весь экран, сделать его непрозрачным, поместить другой div поверх него, а затем поместить изображение и Кнопка «X» сверху. Я пробовал использовать непрозрачные формы (не сработало) и панели с прозрачным фоном (тоже не сработало). Я прибегал к тому, чтобы сделать снимок экрана формы, установить его как изображение PictureBox и поместить PictureBox поверх него. Тем не менее, это кажется слишком излишним.

Мой текущий макет: MainForm -> Динамически создать новую форму и добавить ее в основную форму -> Добавить PictureBox в динамическую форму и установить ее изображение в качестве снимка экрана MainForm -> Добавить PictureBox поверх этого PictureBox и установить его изображение в расширенное изображение, которое я хочу

Какие-либо предложения?


person Eliezer    schedule 15.12.2011    source источник
comment
Да, упс. Я должен добавить это.   -  person Eliezer    schedule 15.12.2011


Ответы (1)


Вы открываете большую версию в другой форме? Тогда должно быть достаточно чего-то такого простого, как это, в событии щелчка в окне изображения (образец на С#, но та же идея для vb.net)

private void pictureBox1_Click(object sender, EventArgs e)
        {
            frmPicture frm = new frmPicture(); //form that has large version of pic
            frm.ShowDialog(); //this makes the form modal
        }
person curtisk    schedule 15.12.2011
comment
Спасибо! Не могу поверить, что забыл об этом. Это сводит меня с ума уже два часа. ммм - person Eliezer; 15.12.2011