Переменная доступа дочерней формы - PullRequest
1 голос
/ 03 января 2012

Использование VB.Net

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

У каждого есть переменная с одинаковым именем.

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

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

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

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

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

Я пытался

Dim O as Object = Me.ActiveMdiChil

O.VariableName= 0

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

1 Ответ

3 голосов
/ 03 января 2012

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

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...