2016-08-31 2 views
0

vb.net 만드는거야 :는 동적으로 생성 된 형태 내에서 함수 호출 - 동적으로과 같이, 양식을 내 프로젝트의 일환으로

 Dim thisticket As New ViewTicket 
     thisticket.Text = "Ticket " & ticketnumber 
     thisticket.ticketid = ticketnumber 
     thisticket.ShowDialog() 

이 양식은 함수 'PopulateHistory()를'포함 호출되면 데이터베이스에서이 티켓에 대한 모든 관련 기록을 가져옵니다.

해당 양식의 옵션 중 하나를 사용하면 전자 메일을 생성하거나 문서를 추가하여 티켓 기록을 업데이트 할 수 있습니다. 티켓 업데이트 옵션은 showdialog() 및 topmost = true와 함께 다른 양식으로 열립니다.

사용자가 수행중인 업데이트를 완료하면 업데이트 양식이 닫히고 'PopulateHistory()'함수를 다시 호출하여 기록 datagridview가 최신 기록을 새로 고치고 표시하게하려고합니다.

새로 만든 ViewTicket으로 'thisticket'을 만들기 전에 ViewTicket.PopulateHistory()를 호출했을 뿐이므로 그 방법은 동적으로 양식을 만들지는 않았지만 그 방법으로 함수를 호출 할 수는 없습니다.

방법이 있습니까?

답변

0

이제 인스턴스가 있으므로 인스턴스의 메서드 자체를 호출해야합니다. 대신 ViewTicket.PopulateHistory()

, thisticket 이후 thisticket.PopulateHistory()

+0

나는 그것이 간단해야한다고 생각했지만, 이것을 시도 할 때, 나는 오류를 얻는다 ... 'thisticket'은 선언되지 않았다. 보호 수준으로 인해 액세스 할 수 없습니다. – John

+0

'(ViewTicket' 인스턴스를 가지고있는)'thisticket' 변수가 존재하고 호출 컨텍스트에서 볼 수 있는지 확인하십시오. 인스턴스 생성 후 호출해야합니다. Dim Thisticket As New ViewTicket' – theBugger

+0

populatehistory() 함수를 호출하려는 양식은 'ticketupdate'라는 'thisticket'의 하위 양식과 같습니다. 사용자가 'thisticket'을 열면 사용자가 업데이트를 추가하므로 'ticketupdate'가 표시됩니다. 'ticketupdate'의 close 이벤트에서 thisticket.populatehistory()를 말하려고하는데, 사용자가 티켓을 열 자마자 'Dim thisticket As New ViewTicket'이 될 것입니다. – John

0

이제 새로운 ViewTicket입니다

을 다음과 같이 호출 :

thisticket.PopulateHistory() 

thisticket

ViewTicket 내부의 기능을 상속 따라서 당신이 호출 할 수 있습니다 그런 기능.

관련 문제