2012-01-03 4 views
1

Использование VB.Netпеременной Доступ дочерней формы

У меня есть около 60 дочерних форм

Каждый имеет переменную с таким же именем.

В основной форме я хочу установить значение переменной активного дочернего элемента.

Один из способов сделать это, как

Select Case Me.ActiveMdiChild.Name 
    Case "formName" 
    frmformName.Variable=0 

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

Есть ли другой способ сделать это.

Я попытался

Dim O as Object = Me.ActiveMdiChil 

O.VariableName= 0 

и его различные варианты, но ее не работает

+2

Проконсультируйтесь с вашей любимой книгой по языку vb.net о ключевом слове * Interface *. Все эти шестьдесят форм (ть) должны реализовывать один и тот же интерфейс. –

ответ

3

Другой способ сделать это с помощью интерфейса, например:

Public Interface IChildVariable 
    Property Variable() As Integer 
End Interface 

Public Class Form1 
    Implements IChildVariable 

    Private _MyVariable As Integer 

    Public Property Variable() As Integer Implements IChildVariable.Variable 
    Get 
     Return _MyVariable 
    End Get 
    Set(ByVal value As Integer) 
     _MyVariable = value 
    End Set 
    End Property 
End Class 

Тогда вы можете просто есть одна контрольная точка:

If TypeOf Me.ActiveMdiChild Is IChildVariable Then 
    DirectCast(Me.ActiveMdiChild, IChildVariable).Variable = 0 
Else 
    ''Throw Exception 
End If 
Смежные вопросы