Видишь, где проблема? Код будет работать с frmFacility и сместится в UserControl:Исключение Null Refrence при работе с свойствами
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
.
Хорошо, спасибо anna, но дело в том, когда я создаю новый экземпляр, он не установлен в true, пока он должен быть, что на самом деле не так? – amir
@amir Вам, вероятно, придется передать существующий экземпляр 'frmFacility' в этот метод или выставить его через свойство в том же классе. –