2015-08-01 2 views
-1

Я создаю UserControl с тремя панелями Я добавляю этот UserControl в свою основную форму, но у меня есть проблема, когда я не могу выбрать, какая панель появится в моей основной форме. Exccactly у меня есть этот код, приведенный ниже, чтобы сделать видимыми мой Panel1Доступ к свойствам UserControl

Public Function Pan1() 

    Panel3_Paint.Visible = False 
    Panel2_Paint.Visible = False 
    Panel1_Paint.Visible = True 




    Return 0 
End Function 

Таким образом, после я нажимаю в stripMenu я попытался появиться первую панель с помощью этой функции в моей форме, но, наконец, в моей основной форме появляется третья панель.

я использую свою функцию таким образом

Private Sub ClassAToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClassAToolStripMenuItem.Click 

       UserControl11.Visible = True 
       Call Pan1() 
    End Sub` 

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

Моего UserControl Код

Public Class UserControl1 
Public Sub Panel3_Paint(sender As Object, e As PaintEventArgs) Handles Panel3.Paint 

End Sub 

Public Sub Panel2_Paint(sender As Object, e As PaintEventArgs) Handles Panel2.Paint 

End Sub 

Public Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint 

End Sub 

End Class

Я также определить мой UserControl и панели в моем Form.vb так

Public UserControl1 As New UserControl 
Public Panel1_Paint As New Panel 
Public Panel2_Paint As New Panel 
Public Panel3_Paint As New Panel 
+0

Не могли бы вы точным, как вы создаете свой UserControl? –

+0

Я размещаю над своим кодом UserControl, а также отправляю свой код, как определить свой Usercontrol в Form.vb –

+0

Я думаю, что каждое определение стирает последнее. Попробуйте объявить панель Panel3_paint Panel1_paint вместо Panel1 на Panel3. Если после этого откроется Panel1, у нас будет ключ к проблеме. –

ответ

0

Так что моя проблема решена. Я не могу получить доступ в Panel Properties, поэтому я создаю Public Sub в моем UserControl.vb и использую его в моей форме. Этот код написан на моем UserControl.vb

Public Sub Pan1() 
Panel3_Paint.Visible = False 
Panel2_Paint.Visible = False 
Panel1_Paint.Visible = True 



End Function 

И тогда я называю мой Sub в моей форме, таким образом,

Private Sub ClassAToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClassAToolStripMenuItem.Click 


    UserControl11.Visible = True 
    UserControl11.Pan1() 


End Sub 
0

Не видя больше коды, я предполагая, что может возникнуть проблема с вызовом функции.

Убедитесь, что функция вызывается в событии. Например, если добавить CommandButton в форму, вы можете добавить следующий код для запуска в случае нажатия на кнопку:

Private Sub CommandButton1_Click() 

Call Pan1 

End Sub 

Я надеюсь, что это помогает.

+0

Извините, но этот метод не помогает в моем случае. Я отправляю над всем своим кодом –

 Смежные вопросы

  • Нет связанных вопросов^_^