[英]C# How to access Form1 controls from Form2 and get not affected when minimized
再會。
我需要達到的目標:
仍然訪問Form1控件(更多關於 performclick 按鈕)&當我最小化Form1 時, Form2不會受到影響。
想要在錄制或播放時復制>> Jitbit Macro Recorder Toolbar。
我得到了什么:
表格1:
Form2 form2= new Form2();
private void Form1_Load(object sender, EventArgs e)
{
form2.Show();
}
表格2:
Form1 form1;
private void Form2_Load(object sender, EventArgs e)
{
form1 = (Form1)this.Owner;
}
private void Button1_Click(object sender, EventArgs e)
{
form1.buttonRecord.PerformClick();
form1.WindowState = FormWindowState.Minimized;
}
如果你真的想走這條路,你可以公開你的點擊處理程序並調用它。
表格1:
Form2 form2= new Form2();
private void Form1_Load(object sender, EventArgs e)
{
form2.Owner = this;
form2.Show();
}
public void ButtonRecord_Click(object sender, EventArgs e)
{
}
表格2:
Form1 form1;
private void Form2_Load(object sender, EventArgs e)
{
form1 = (Form1)this.Owner;
}
private void Button1_Click(object sender, EventArgs e)
{
form1.ButtonRecord_Click(sender, e);
form1.WindowState = FormWindowState.Minimized;
}
你基本上做的是兩種形式之間的循環引用,這並不理想。 您可以考慮使用這樣的事件:
表格1:
Form2 form2= new Form2();
private void Form1_Load(object sender, EventArgs e)
{
form2.Show();
form2.Test += (s, ee) => MessageBox.Show("test event");
}
表格2:
public event EventHandler Test;
private void Button1_Click(object sender, EventArgs e)
{
Test?.Invoke(this, EventArgs.Empty);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.