본문 바로가기
IT/C#

[C#] Class 에서 Form의 Control 조작하는 방법

by 초록술 2020. 6. 3.
반응형

Class를 add로 추가한 후 Form의 컨트롤들을 class에서 조작하는 간단한 방법에 대해 포스팅합니다.

 

 

다음과 같은 LoginForm 이 있습니다.

namespace Greensul
{ 
    public partial class LoginForm : Form 
    { 
        public LoginForm() 
        { 
            InitializeComponent(); 
        } 
        
        중략

Form에 다음을 추가합니다.

 - public static LoginForm loginform;

 - loginform = this

namespace Greensul
{ 
    public partial class LoginForm : Form 
    { 
        public static LoginForm loginform; 
        public LoginForm() 
        { 
            InitializeComponent();
            loginform = this;
        } 
        
        중략

이렇게 해서 다른 Class에서 LoginForm.loginform으로 Controls를 호출할 수 있습니다.

이때, 다른 Class에서 호출할 Controls를 public 선언을 해야 합니다.

 

다음과 같은 LoginForm에 Textbox를 class에서 Control 하기 위해서는

해당 Textbox를 선택합니다.

Properties에서 Modifiers를 public으로 변경합니다.(Default 값은 Private입니다.)

 

 

 

test를 위해 test.cs를 추가합니다.

test.IdInsert() 메서드가 호출되면 textID에 "test"를 입력합니다. 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Greensul
{
    class test
    {
        static public void IDInsert()
        {
            LoginForm.loginform.textID.Text = "test";
        }
    }
}

이제 함수를 호출해 보겠습니다.

다음과 같이 로그인 버튼을 클릭 시 해당 IDInsert를 호출하도록 해보았습니다.


        private void btnLogin_Click(object sender, EventArgs e)
        {
            test.IDInsert();

 

다음과 같이 사용자명에 "test" 값이 자동 입력됩니다.

 

 

지금까지 class에서 Form의 controls를 호출하는 간단한 방법에 대해 알아보았습니다.

 

반응형

댓글