2014-03-06 3 views

답변

1

컨트롤을 만들 때 참조를 주변에 유지하십시오. 예를 들어 목록을 전역 변수로 사용할 수 있습니다.

Dim MyControls as List(Of Control) 

당신이 컨트롤을 만들 때 양식에서 제거 컨트롤을 삭제하고 (무료 능숙)을 폐기 마십시오 폼의 컨트롤 컬렉션에 추가하고 또한 목록

MyControls = New List(Of Control) 
[...] 
Me.Controls.Add(NewControl) 
MyControls.Add(NewControl) 

For each c as Control in MyControls 
    Me.Controls.Remove(c) 
    c.Dispose() 
Next 

컨트롤은 참조 유형이므로이 작업을 수행 할 수 있습니다. 즉, MyControls 목록에있는 개체와 양식에 표시된 개체가 같은 인스턴스를 가리키고 있으므로 나중에 쉽게 처리 할 수 ​​있습니다. @Jens처럼

+0

컨트롤을 만드는 코드는 다음과 같습니다.'Private burstbox 새 목록 (TextBox 중)'으로, 컨트롤 추가는'burstbox.Add (New TextBox)'입니다. 그러면 텍스트 상자를 삭제하는 코드는 어떻게됩니까? – SmashedPotato

0

당신이 무엇을하려고 않았다

For each tb as TextBox in burstbox 
     burstbox.Remove(tb) 
     tb.Dispose() 
    Next 
관련 문제