프로젝트에서 모든 양식의 목록을 가져오고 싶습니다. 양식을 실행하고 있습니다.VS2008 C# 프로젝트에서 양식 목록을 가져 오는 방법은 무엇입니까?
난 4 개 형태 1.Form1 2.Form2 3.Form3 4.Form4
을 가지고 프로젝트를 실행하고 그리고 난 어떤 형태로 직접 추가 방향에 대한 그들의 목록을 검색한다고 가정
프로젝트에서 모든 양식의 목록을 가져오고 싶습니다. 양식을 실행하고 있습니다.VS2008 C# 프로젝트에서 양식 목록을 가져 오는 방법은 무엇입니까?
난 4 개 형태 1.Form1 2.Form2 3.Form3 4.Form4
을 가지고 프로젝트를 실행하고 그리고 난 어떤 형태로 직접 추가 방향에 대한 그들의 목록을 검색한다고 가정
에 뜻 수행
런타임 경우, 당신은 의미합니까 : 프로젝트에 정의 된
디자인 타임에 경우에, 나는 모른다.
런타임에 의미가 있고 모든 양식을 선언하려는 경우 리플렉션에 의존해야합니다. 어셈블리의 모든 유형을 반복하고 Form
클래스에서 상속받은 모든 유형을 찾습니다. 이 같은
뭔가 할 것 :
당신은 런타임에 의미, 그리고 당신이 열려있는 모든 형태를 원하는 경우에Type formType = typeof(Form);
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes())
if (formType.IsAssignableFrom(type))
{
// type is a Form
}
, 당신은 Application.OpenForms를 사용할 수 있습니다.
그래, 내가 원하는 것 같아.하지만 내가 어디에 만족하는 양식에 대한 개체를 어떻게해야합니까 "만약에"조건이 만족 스럽다면 – Mobin
마지막 사건입니까? 라이브, 기존, 양식 객체를 원하거나 아직 존재하지 않을 수도있는 모든 가능한 유형을 원할 수도 없습니다. 원하는 경우 두 가지를 결합해야합니다. 네가 원하는 걸 정교하게 써 주겠니? 그리고 "네가 원한다고 생각합니다"라고 여러 항목을 열거했을 때 도움이되지 않는다면 원하는 것을 말하십시오. –
OK 그러면 나는 폼의 객체 목록을 RUNTIME 및 프로젝트에 정의 된 모든 형식으로 정의한다고 말하고 싶습니다. 이것이 내 쿼리를 이해하는 데 도움이 되길 바랍니다. 그렇습니다. 내 의도를 알려주는 적절한 방법이 아니란 점을 알았습니다. lolz – Mobin
디자인 타임 또는 런타임에 검색 할 수 있습니까? –
런타임 : :) Application.Openforms의 컬렉션을 알고 있지만 내 양식이 열려 있지 않으면 어떻게 전체 컬렉션의 목록을 얻을 수 있습니다 – Mobin