패널에서 특정 유형의 사용자 정의 컨트롤을 처리하려고합니다. 지금은 foreach 루프를 사용하여 User 컨트롤을 처리하고 있습니다.C#의 패널 컨트롤에서 특정 사용자 정의 컨트롤을 삭제하는 방법()
foreach (CTRL.box bx in RightPanel.Controls.OfType<CTRL.box>())
{
bx.Dispose();
}
그러나 올바르게 작동하지 않습니다. 구글에서 나는 아래의 코드를 찾는다.
while(tabControlToClear.Controls.Count > 0)
{
var tabPage = tabControlToClear.Controls[0];
tabControlToClear.Controls.RemoveAt(0);
tabPage.Dispose();
// Clear out events.
foreach (EventHandler subscriber in tabPage.Click.GetInvocationList())
{
tabPage.Click -= subscriber;
}
}
나는이 일을 시도하고있다. 그러나 나를 위해 그것은 내가 처분 할 필요가있는 특정한 사용자 컨트롤이다. 그들은 내 양식에 필요한 다른 사용자 컨트롤입니다. 전체 나는 처분하고 싶습니다 상자 내 양식에서 사용자 정의 컨트롤.
while (RightPanel.Controls.OfType<CTRL.box>().Count() > 0)
{
var panel = RightPanel.Controls.OfType<CTRL.box>()[0];//Here i am getting error "Cannot apply indexing with [] to an expression of type 'System.Collections.Generic.IEnumerable<Project_Server.CTRL.box>'"
}
누구든지이 오류를 해결할 수 있도록 도와 줄 수 있습니까?
'IEnumerable'인터페이스는 인덱서 속성을 지정하지 않습니다. 두 개 이상의'CTRL.box' 컨트롤이 있습니까? 그렇다면 런타임에 일부 속성을 통해 해당 항목을 식별 할 수 있습니까? –
CoolBots