양식 간 양식 컨트롤 액세스
문제:
양식이 여러 개이므로 다음을 수행해야 합니다. 한 양식 내에서 다른 양식 내에서 특정 컨트롤(예: ListBox)에 액세스하고 수정합니다. 공개 설정자를 만드는 것보다 더 나은 접근 방식이 있습니까?
제안된 솔루션:
공개 설정을 만드는 대신 양식 참조 전달
설정자라면 초기화 중에 한 양식의 참조를 다른 양식으로 전달하는 것을 고려해 보세요. 이를 통해 중간 속성 없이 컨트롤과 속성에 직접 액세스할 수 있습니다.
예제 코드:
Form1은 Form2를 초기화하고 자체 참조를 제공합니다.
public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(this); frm.Show(); } public string LabelText { get { return Lbl.Text; } set { Lbl.Text = value; } } }
Form2는 다음에 대한 참조를 받습니다. Form1.
public partial class Form2 : Form { private Form1 mainForm = null; public Form2(Form callingForm) { mainForm = callingForm as Form1; InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { this.mainForm.LabelText = txtMessage.Text; } }
Form2는 생성자를 통해 참조를 전달하여 Form1의 LabelText 속성에 직접 액세스하고 수정할 수 있습니다.
위 내용은 다양한 Windows Forms에서 컨트롤에 효율적으로 액세스하고 수정하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!