본문 바로가기
코딩연습/C#

[c#] 폼명(String) 으로 화면 호출 (동적)

by 호아니 2022. 3. 3.

1.Reflection 사용하여 프로젝트 내 동일 화면 명 찾아서 open

private void FindFormByName(string formName)
  {
            Form form = null;

            foreach (Type type in System.Reflection.Assembly.GetExecutingAssembly().GetTypes())
            {
                if (type.Name == formName)
                {
                    form = Activator.CreateInstance(type) as Form;
                    form.Show();
                }
            }
}

 

2.네임스페이스 + 화면명으로 인스턴스 생성

string nameSpace = "네임스페이스명";
string formName = "화면명";

Form form = Activator.CreateInstance(nameSpace + "." + formName) as Form
form.Show();