C# 변수 데이터로 폼 객체생성

사내 업무프로그램 독학 개발중 문의 사항이 있어 글을 남깁니다.

formName 변수에 입력된 데이터 폼 생성 질문 드립니다.
formName 변수에는 DB에서 Query를 받아 저장합니다.

“FrmA01 … , FrmB01…”
폼은 다른 네임스페이스에 있습니다.

string formName = "FrmA01";
var frm = new ??
frm.Show();

            string formName = string.Empty;
            Form frm;
            switch (formName)
            {
                case nameof(FormMain):
                    frm = new FormMain();
                    break;
                case nameof(Form1):
                    frm = new Form1();
                    break;
                ...
            }

DB에 저장된 문자열로 폼을 생성 하기 때문에 Switch문은 사용하지 않습니다.

현재까지 작성한 바로는

        Assembly assembly = Assembly.GetExecutingAssembly();
        Type type = assembly.GetType(formName);
        var frm = (Form)Activator.CreateInstance(type);
        frm.Text = obj.Text;
        frm.MdiParent = this;
        frm.Show();

폼 생성은 됩니다 그러나 네임스페이스가 다르면 생성 되지 않네요…

추가 질문으로

string formName = "FrmA01";

formName 변수에 저장된 문자열 Class의 namespace 경로를 취득문의 합니다.

formName 에 namespace까지 있어야 하지 않을까요?

정답 이네요 ㅎㅎㅎㅎ

1 Like