2017-02-06 1 views
1

다양한 옵션이있는 comboBox가있는 Form1을 사용하고 있습니다. Form2는 단추 클릭을 통해 Form1에서 열립니다.폼의 레이블 텍스트를 다른 폼의 콤보 상자 값으로 설정합니다. C#

Form2의 레이블이 Form1의 comboBox 값으로 설정되도록하고 싶습니다. 내가 VBA에서 온

그렇게

this.label1.Text = Form1.comboBox1.Text; 

을 시도하지만이 작동하지 않습니다. 이 작업을 수행하는 가장 간단한 방법은 무엇입니까?

+0

아마,'public Form2 (string something) :이() {label1.Text = something;}'을 호출하는 것이 InitializeComponent();를 피하는 더 좋은 방법입니다. – BugFinder

답변

2

그냥 Form2의 생성자에 콤보 상자의 텍스트를 전달합니다

public Form2(string something) 
{ 
    InitializeComponent(); 
    this.label1.Text = something; // initialize label text 
} 

은 Form2를 열 때 :

using(var form2 = new Form2(comboBox1.Text)) // pass 
{ 
    form2.ShowDialog(); 
} 
, 당신은
+1

을 Form2를 위해 Form1에 가변적이고 합격해야합니다 Form1에이 전 세계적으로 액세스 할 변수가되지 않습니다 –

+0

완벽하게 작동합니다! –

관련 문제