저는 인스턴스와 클래스에 대해 저의 머리를 감싸는 데 도움이 필요합니다. 아래의 코드에서 main_form을 가지고 있고 main_form에 user_control을로드하고 있습니다. main_form 내부에있는 속성을 사용하여 obj라는 데이터를 설정합니다. 내 질문은 내가 user_control 내부에서 일을 할 때, 어떻게 접근 할 수 있고 main_form의 obj 속성을 설정할 수 있는가이다. main_form.obj 시도했지만 "개체 참조가 개체의 인스턴스로 설정되지 않습니다"오류가 계속. 그래서 어떻게해야할지 모르겠습니다. 여기에 아래로 무식 코드VB.net 다른 클래스의 클래스 속성에 액세스하십시오.
Public Class FormControlClass
Private _obj As New objCollection
Public Property obj As objCollection
Get
Return _obj
End Get
Set(ByVal value As objCollection)
_obj = value
End Set
End Property
'Load User Control Into Form from here.
me.controls.add('UserControl')
End Class
Public Class UserControlClass
'Access the obj property in the form control class from here.
FormControlClass.obj = 1
End Class
좋아, 나는 그 부분을 가지고있다. 자, 내 사용자 컨트롤 안에있을 때. 양식 컨트롤 클래스에서 내 속성을 검색하려면 어떻게해야합니까? 'FormControlClass.MyProperty'를 사용하면 객체의 인스턴스로 설정되지 않은 객체를 던집니다. – joeb
사용자 콘트롤의 인스턴스를 통해 사용자 콘트롤의 속성을 참조해야하기 때문에'userControl1.obj'를 의미하는 것 같아요. 'userControl1'이라는 이름입니다. –
나는 사용자 컨트롤이 페이지 (폼) 안에 존재한다는 개념에 어려움을 겪고 있다고 생각하지만, 그것들은 자신의 부모에게 손을 내밀고 그들의 속성을 제어하려고하지 않는다. 왜냐하면 그것들은 특정 상황의 컨텍스트 외부에서 재사용 할 수 없기 때문이다. 페이지. 사용자 컨트롤이 페이지 (양식)에서 정확히 변경/업데이트되기를 원하십니까? 이 동작을 원하면 페이지의 사용자 정의 컨트롤 부분에있는 내용을 만드십시오. 내 원래 예제에서 –