상세 컨텐츠

본문 제목

두개의 폼에서 값 전달하기

청강컴정/C#

by luckey 2009. 5. 10. 00:59

본문


클래스를 사용하여 전달하는 방법

Form을 2개 만든다. (Form1, Form2)
Class를 1개 만든다.(Class1)

먼저 Class1.cs 파일에 아래와 같이 코딩한다.

    class Class1
    {
        private static string text = null;

        public string test
        {
            get { return text; }
            set { text = value; } //value는 넘어온 값을 넣어준다.
        }
    }

Form1 에 아래와 같이 코딩한다.

        Class1 cs = new Class1();
        public Form1()
        {
            InitializeComponent();

            if (cs.test == null) //Class1 클래스내의 text 의 값이 null인지 체크한다.
            {
                Form2 frm = new Form2();
                frm.ShowDialog();  // 이와 같이 코딩하면 Form1 이 뜨기전에 Form2를 띄워준다.
            }
            else
            {
                this.Refresh();  //Form1 창을 새로고침한다.
            }
            label1.Text = cs.test;  //Form1 창의 label에 Class1의 text에 담겨있는 값을 출력한다.

        }

Form2 에 아래와 같이 코딩한다.

        Class1 cs = new Class1();
        public Form2()
        {
            InitializeComponent();
        }
        
        // 자동으로 넘겨보려 했지만 넘어가지 않는다.
        // 반드시 어떤 이벤트를 연결해야 하는것 같음..
        private void button1_Click(object sender, EventArgs e)
        {
            cs.test = "text";  //test에 "text"라는 값을 넘겨준다.
            this.Dispose(); //Form2의 모든 리소스를 해제한다.
            this.Close();  //Form2를 닫는다.
        }

관련글 더보기

댓글 영역