2015-10-28 3 views
0

Я пытаюсь найти способ заменить одну панель формы Form1 с панелью, созданной в Form2, при замене того же размера и того же местоположения.Замените Form1.Panel1 на Form2.Panel1

Exammple:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Me.Panel1.Hide() 
    Form2.Panel1.Show() 
    Form2.Panel1.Location = Me.Panel1.Location 
    Form2.Panel1.BringToFront() 
End Sub 

Он хочет быть что-то вроде TabControl, но я предпочитаю использовать этикетку, потому что TabControl настолько ограничен, чтобы сделать то, что я хочу сделать.

+0

, в чем проблема? вы не видите 'Form1.Panel1' на' Form2'? это? –

+0

И наоборот. From Form2 в Form1 – qckmini6

ответ

1

Ну, вы не можете увидеть «элементы управления в Form2» (Panel1 в данном случае) на Form1, потому что управление в Form2 принадлежат к Form2. Таким образом, если вы хотите увидеть Form2.Panel1 на Form1, вам нужно добавить Form2.Panel1 в Form1.Controls.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    Me.Controls.Add(Form2.Panel1) 
    Form2.Panel1.Hide() 
End Sub 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Me.Panel1.Hide() 
    Form2.Panel1.Show() 
    Form2.Panel1.Location = Me.Panel1.Location 
    Form2.Panel1.Size = Me.Panel1.Size 'to be the same size 
End Sub 
+0

Боже мой, большое вам спасибо! Я также нашел решение, но ваш код более красив. Спасибо! – qckmini6

1

Возможно, вы имели в виду Type2?

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles  Button1.Click 
    Me.Panel1.Hide() 
    Form2.Panel1.Show() 
    Form2.Panel1.Location = Me.Panel1.Location 
    Form2.Panel1.BringToFront() 
End Sub 

Возможно, вам также не понадобится заявление BringToFront.

+0

Да, я забыл изменить, поскольку это всего лишь пример в моем запросе. И этот код не работает. Просто скрыть панель из основной формы, но я не вижу панель из формы2. – qckmini6

+0

Позвольте мне попробовать с одной формой без полей, а не панелью, возможно, она должна работать. Изменить: это не работает. Он показывает форму 2, но в случайном месте, чем панель из основной формы. – qckmini6

+0

О, да. Это отобразило бы панель на Form2. Вероятно, это уже видно в этой форме. – JerryM

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