2015-10-18 3 views
-4
Public Class Form1 
    Dim NewMDIChild1 As New Form2() 
    Dim NewMDIChild2 As New Form3() 

    Private Sub Form1ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles Form1ToolStripMenuItem.Click 
     NewMDIChild1 = New Form2 
     NewMDIChild1.MdiParent = Me 
     NewMDIChild1.Show() 
    End Sub 

    Private Sub Form2ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles Form2ToolStripMenuItem.Click 
     NewMDIChild2 = New Form3 
     NewMDIChild2.MdiParent = Me 
     NewMDIChild2.Show() 
    End Sub 

    Private Sub CloseToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CloseToolStripMenuItem.Click 
     If Not ActiveMdiChild Is Nothing Then 
      ActiveMdiChild.Close() 
     End If 
    End Sub 

    Private Sub CloseTodoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CloseTodoToolStripMenuItem.Click 
     While Not ActiveMdiChild Is Nothing 
      ActiveMdiChild.Close() 
     End While 
    End Sub 

    Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click 
     Me.Close() 
    End Sub 

    Private Sub SmallToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SmallToolStripMenuItem.Click 
Form2.Label1.Text = "test" 
    End Sub 

    Private Sub MediumToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MediumToolStripMenuItem.Click 
Form2.Label1.Text = "test" 
    End Sub 

    Private Sub BigToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BigToolStripMenuItem.Click 
Form2.Label1.Text = "test" 
    End Sub 
End Class 

Что я хочу сделать, это изменить размер метки, проблема в том, что метка находится в другой форме, и она, похоже, не меняется. Я использовал этот «Form2.Label1.Text =» test », чтобы увидеть, изменилась ли метка. Я думаю, это потому, что я использовал MDIChild. Может ли кто-нибудь мне помочь?Как изменить текст с метки из другой формы визуального базового?

+1

Можете ли вы показать код, в котором вы ссылаетесь на форму, и попытаться ее изменить/установить свойство Text? –

ответ

1

Вы не показываете код, относящийся к вашему вопросу, нигде вы не меняете какой-либо текст на любом ярлыке, поэтому я буду игнорировать 99% этого огромного блока кода и сварить ваш вопрос по этому вопросу:

Dim NewMDIChild1 As New Form2() 
Dim NewMDIChild2 As New Form3() 

Я использовал этот "Form2.Label1.Text = "тест""

я не уверен, если VB.NET ведет себя так же, как VB6/VBA здесь, но если вы не получаете исключение с Form2.Label1.Text = "test", то, вероятно, это так: вы устанавливаете текст метки на экземпляре по умолчанию формы, а ваш класс Form1 ссылается на Form2, используя ссылку на объект с именем NewMDIChild1.

В зависимости от того, где у вас был этот тестовый код, выполнение NewMDIChild1.Label1.Text = "text" должно приводить к ожидаемым результатам.

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

+0

Та же история для vb.net: http://msdn.microsoft.com/en-us/library/87y2hdsf.aspx –

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