C# UserControl에서 Form의 Control을 접근하자
2019. 12. 25. 18:34ㆍC#
728x90
반응형
UserControl에서 Form1 의 ID/PW를 입력하고 싶다!
이런 경우 사용할 수 있습니다.
뭐 반대의 경우도 가능하구요.
방법은 엄청 간단합니다.
public static Form1 f; public Form1() { InitializeComponent(); f = this; }
Form1에서 static으로 Form1 자신을 선언해주고
Form InitalizeComponent(); 이후 시점에 this 키워드로
자신을 넣어주면 됩니다.
f = this;
그리고 Form1에서 사용하려는 Control Property 중 Modifier 속성을
Public 으로 변경해주면 됩니다.
UserControl1 에서는 그냥 아래 처럼
Form1.f.textBox1 이 뜨는데 여기서 활용하면 됩니다.
테스트를 해보면
private UserControl1 uc;
public Form1()
{
InitializeComponent();
f = this;
uc = new UserControl1();
Controls.Add(uc);
uc.Location = new Point(50, 50);
}
간단히 userControl을 Form1에다가 붙여서 UserControl이 실행 될 수 있도록 하고 아래 코드가 실행이 되면
private void test()
{
Form1.f.textBox1.Text = "HAHAHAHAH";
}
HAHAHAH가 입력이 된 걸 볼 수 있습니다.
728x90
반응형
'C#' 카테고리의 다른 글
# 내 컴퓨터의 컴퓨터 Description 가져오 (0) | 2020.01.08 |
---|---|
C#/VB.NET 다른언어로 작성 된 클래스 사용하기! (0) | 2019.12.25 |
C#/VB.NET DataGridView CheckBox Column 만들기 (0) | 2019.12.25 |
C#/VB.NET AsEnumerable은 DataTable의 멤버가 아닙니다. (0) | 2019.12.18 |
c#/vb.net DataGridView 추가된행/삭제된행/수정된행만 접근하기 (0) | 2019.09.11 |