Проблема с панелью в Visual Basic 2010

Я создал панель и добавил ссылку на другую форму, используя код

Private Sub Panel1_Paint_1(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint    

        AdminLogin.TopLevel = False
        Me.Panel1.Controls.Add(AdminLogin)
        AdminLogin.Show()

 End Sub

На панели отображается форма входа администратора, которая находится внутри панели, но когда я нажимаю любые кнопки внутри входа администратора, форма входа администратора мигает. Почему происходит это мерцание? как я могу это остановить? Я также добавил me.refresh внутри панели, но он не работает?


person FrozenKing    schedule 15.04.2011    source источник


Ответы (1)


Почему происходит это мерцание?

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

как я могу это остановить?

Вы добавляете элемент управления только в том случае, если он еще не добавлен.

Конечно, это не означает, что ваш общий дизайн не имеет недостатков.

person Security Hound    schedule 15.04.2011
comment
@Ramhound- Не понял, как это остановить? Пожалуйста, объясните подробно - person FrozenKing; 16.04.2011
comment
@Frozen - Что именно ты не понимаешь? Каждый раз, когда вы добавляете элемент управления на панель, элемент управления рисуется снова. Решение состоит в том, чтобы добавить элемент управления только один раз. Вы не опубликовали свою попытку после того, как я сказал вам причину, по которой она мигает. - person Security Hound; 18.04.2011
comment
Какие попытки я должен сделать? - person FrozenKing; 19.04.2011
comment
@Frozen — проверьте, существует ли элемент управления на панели, если его нет, не добавляйте элемент управления. - person Security Hound; 03.05.2011