Вы видите, в чем проблема? Код будет выполняться из frmFacility и перейдет в UserControl:
Public Class frmFacility
Private primaryBaseDay As Date
Private isClassPrimaryView As Boolean = False
Friend WithEvents BookCtrl As ucBookCtrl2
Public Property Primary_BaseDay() As Date
Get
Return primaryBaseDay
End Get
Set(ByVal value As Date)
primaryBaseDay = value
End Set
End Property
Public Property IsOnPrimaryView() As Boolean
Get
Return isClassPrimaryView
End Get
Set(ByVal value As Boolean)
isClassPrimaryView = value
End Set
End Property
Public Sub GotoDay(ByVal theDay As Date)
Primary_BaseDay = theDay
IsOnPrimaryView = True
BookCtrl.GotoDay(theDay)
End Sub
End Class
Imports frmFacility
Public Class ucBookCtrl2
Public Sub GotoDay(ByVal whichDay As Date, Optional ByVal MainFacilityUsed As String = "")
Dim facilityForm As frmFacility
If facilityForm.IsOnPrimaryView Then
moDoBooking.m_BaseDay = facilityForm.Primary_BaseDay
moDoBooking.m_CurrentDay = whichDay
ShowDay()
RaiseEvent ChangeOfDay()
End Sub
End Class
На линии If facilityForm.IsOnPrimaryView Then
я получаю NullReferenceException
. Вы знаете причину?
Кроме того, я не могу создать новый экземпляр facilityForm
, поскольку мне нужно работать с его синглтоном, хотя, когда я добавляю новый экземпляр frmFacility
, IsOnPrimaryMode
устанавливается на false
, пока он должно быть установлено на true
в подпункте gotoday
из frmFacility
.