Моя форма пользователя продолжает уменьшаться после каждого использования - PullRequest
1 голос
/ 11 июня 2019

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

Option Explicit

' called on click of "OK" button
Private Sub CommandButton1_Click()
    MyFile = Me.ComboBox1.Value
    Unload Me
End Sub

' called on click of "Cancel" button
Private Sub CommandButton2_Click()
    Stopped = True
    Unload Me
End Sub

' loads the combo box with the names of all available workbooks
Private Sub UserForm_Initialize()
    Dim wkb As Workbook
    With Me.ComboBox1
        For Each wkb In Application.Workbooks
            If wkb.Name <> ActiveWorkbook.Name Then
                .AddItem wkb.Name
            End If
        Next wkb
    End With
End Sub

1 Ответ

1 голос
/ 11 июня 2019

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

Вы можете попробовать принудительно принудительно изменить размерв этом обработчике инициализации:

Private Sub UserForm_Initialize()
    Me.Height = 480
    Me.Width = 600
    InitializeComponents
End Sub

Private Sub InitializeComponents()
    PopulateAvailableInactiveWorkbooks
    '...
End Sub

Private Sub PopulateAvailableInactiveWorkbooks()
    Dim wkb As Workbook
    With Me.ComboBox1
        For Each wkb In Application.Workbooks
            If wkb.Name <> ActiveWorkbook.Name Then
                .AddItem wkb.Name
            End If
        Next wkb
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...