diablo22 Ответов: 2

Форма глаг размер + элемент управления PictureBox


Привет,
Как это создать.

У меня есть форма 3 добавил Это :
- Панель 1 - Док - Заливка
- Picturebox1 - Внутренняя Панель
- Picturebox1 - Авторазмер

То , что я хочу, когда форма открывается, чтобы загрузить изображение и изменить его размер, чтобы показать полный вид изображения.
Потому что у меня есть некоторые изображения,которые маленькие, другие большие, и я хочу, чтобы picturebox правильно отображал размер изображения (а не делал форму настолько большой, чтобы изображение было в центре или что-то в этом роде. Правильно размер формы должен быть как размер картинки)

Как это сделать?

Что я уже пробовал:

Private Sub Form3_Resize(sender As Object, e As EventArgs) Handles Me.Resize
        Me.Size = New Size(Me.Width + Me.PictureBox1.Width - Me.Panel1.Width,
                        Me.Height + Me.PictureBox1.Height - Me.Panel1.Height)
    End Sub

2 Ответов

Рейтинг:
9

diablo22

1. Панель 1 - Док - Заливка
2. Panel1 - AutoSizeMode - GrowAndShrink
3. Picturebox1 - Location - 0;0
4. Picturebox1 - Авторазмер
5. Form3 - AutoSizeMode - GrownOnly
6.

Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 Me.Size = New Size(Me.Width + Me.PictureBox1.Width - Me.Panel1.Width,
                       Me.Height + Me.PictureBox1.Height - Me.Panel1.Height)
End Sub


Я снова поразил себя, прежде чем кто-то даже знает ответ Gj для меня :)


Рейтинг:
1

OriginalGriff

Изменение размера внутри события изменения размера - плохая идея-это может легко привести к бесконечному циклу, так как изменение свойства размера-это то, что запускает событие изменения размера ...

И я должен сказать, что изменение размера формы, чтобы соответствовать изображению, - это странный способ сделать вещи: что, если изображение окажется размером 1x1 пиксель? 10K x 10K пикселей? Например, я использовал много графических пакетов, и ни один из них не пробовал ваш путь, по уважительным причинам.

Я бы сделал это так: изменил форму, чтобы ее нельзя было изменить, и установил размер формы при загрузке изображения - проверяя затем "разумные" значения высоты и ширины.
Ну, нет - я бы, наверное, не стал - я бы позволил пользователю контролировать, насколько велики форма и изображение, поскольку это его монитор(ы), на который он должен поместиться ... У меня, например, есть три, и я бы хотел, чтобы он поместился на всех трех: портрете, пейзаже и квадрате, которые потребовали бы разных размеров в зависимости от того, на каком мониторе я его отображал.


diablo22

вы не поняли меня правильно, я не буду загружать фотографии размером 1000х1000 и более.
Смысл этого в том, чтобы загрузить форму и показать саму картинку, ничего больше. Некоторые картинки маленькие, другие немного больше похожи на little more is (200x150), например.
Вот почему я хочу, чтобы форма была изменена в соответствии с размером изображения. Это как предварительный просмотр отображения формы изображения