양식 (Form1)이 있으며 컨트롤이 30 개 있습니다. 버튼을 눌렀을 때, 30 개의 버튼을 제거하고 다른 컨트롤을 폼에 추가하려고합니다. 내 문제는 이것이 느려지는 것입니다.컨트롤 컬렉션 제거
나는이 목록에 내가 삭제하고 싶은 컨트롤을 가지고 있으며, 각각을 위해 각각을 실행한다. 양식을 보면,
Private Sub ClearControls()
'removing the controls from Me.Controls
For Each Control As Control In ListToDelete
Me.Controls.Remove(Control)
Next
ListToDelete = New List(Of Control)
End Sub
지금, 당신은 컨트롤이 조치는 (빌드의 시간을 스톱워치로) 약 0.4 초를 소요하고 너무 오래의 1 씩 1을 삭제하기를 참조하십시오.
빠른 방법으로 컨트롤을 삭제할 수있는 솔루션이 있습니까? 아니면 컨트롤을 1 개씩 삭제할 수 있습니까?
중요한 사실은 모든 것이 데이터베이스와 연결되어 있다는 것입니다. 컨트롤은 자신이 정의한 클래스 (TableDrawer)로 만들어지며 직사각형 또는 원을 만듭니다 (데이터베이스의 정보에 따라 다름). 폼에 셀프 컨트롤을 추가합니다. 폼을 삭제하고 싶을 때 폼의 다른 컨트롤을 가져 오는 데는 0.4 초가 걸리고 데이터베이스의 정보도 함께 가져옵니다.
는 희망이 몇 가지를 지우고 난 당신이 나를 도울 수 있기를 바랍니다 ... 정말 빠른 비트를 가야
그러나 모든 컨트롤을 제거하고 싶지는 않습니다. 제거 할 수없는 버튼이 있습니다 ... – Vella
솔루션을 테스트 한 결과, 솔루션이 더 빠르며 내 솔루션과 똑같이 빠르지 (읽기 : 느림) 있는지 확인하기 위해 ... 그래서 아무 것도 할 수 없다고 생각합니다. 빨리 나는 지금 당장이다. – Vella