Member 14633063 Ответов: 1

Нажатие кнопки развернуть и двойной щелчок по строке заголовка дают разные результаты


У меня есть форма, с панелью, с picturebox внутри панели. Элемент управления PictureBox sizemode расположен, чтобы увеличить. Ниже приведен некоторый код...
Private Sub FrmShowPics_Resize(sender As Object, e As EventArgs) Handles Me.Resize

    Panel1.Height = Me.Height - 90
    Panel1.Width = Me.Width
    Panel1.Top = 0
    Panel1.Left = 0

    PictureBox1.size = new Size(Me.Width, Me.Height - 90) 
    PictureBox1.Left = 0
    PictureBox1.Top = 0

    ' MessageBox.Show("here")

End Sub

Если я нажму на кнопку развернуть в строке заголовка, форма развернется, а панель и picturebox заполнят область контейнера, при этом изображение будет правильно увеличено.
Однако если я дважды щелкну по строке заголовка, форма развернется, панель расширится до нужного размера, чтобы полностью заполнить клиентскую область формы, изображение будет правильно увеличено в picturebox, но нижеприведенные два утверждения, похоже, не имеют никакого эффекта...
Panel1.Top = 0
Panel1.Left = 0
расположение панели находится по всей форме.

Если я раскомментирую ящик с сообщениями.Оператор Show("here"), двойной щелчок по строке заголовка работает правильно, давая точно такие же результаты (правильные), как и при нажатии на кнопку maximize...

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

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

Куча Гугла.
Я также попытался покрыть строку заголовка (за исключением кнопок справа) неактивной формой и вроде бы заставил ее работать, но не совсем.

Также пробовать Приложение.Функция doevents но безрезультатно.

1 Ответов

Рейтинг:
7

RickZeeland

Попробуйте установить Якорь свойства панели сверху,слева, вы можете сделать это в конструкторе или в коде.
Видеть: Контроль.Якорное Свойство (System.Окна.Формы) | Microsoft Docs[^]

Вот способ отключить поведение строки заголовка: Против 2008 [решен] отключить развернуть двойным щелчком мыши на заголовке-VBForums[^]


Member 14633063

Якорь панели уже установлен сверху, слева в режиме проектирования.

Самое странное для меня то, что если я не буду комментировать MessageBox.Показать (см. код в исходном вопросе) двойной щелчок работает нормально...

Member 14633063

Но я ценю вашу запись :^)...

Member 14633063

Ваш способ отключить максимизацию при двойном щелчке строки заголовка-это именно то, что мне нужно.
Спасибо!!!