我有三個的WinForms .. Form1的窗體2和Form3調用2種2種不同形式的
// Form1的按鈕
private void btF1_Click(object sender, EventArgs e)
{
new Form3(this).ShowDialog();
}
//窗體2按鈕
private void btF21_Click(object sender, EventArgs e)
{
new Form3(this).ShowDialog();
}
// Form3
方法 public partial class AjoutDemandeur : Form
{
Form1 _owner;
Form2 _owner2;
public Form3(Form1 owner, Form2 owner2)
{
InitializeComponent();
_owner = owner;
_owner2 = owner2;
}
private void button1_Click(object sender, EventArgs e)
{
_owner.methodForm1(); //call a method from Form1
}
private void button2_Click(object sender, EventArgs e)
{
_owner2.methodForm2(); // call a method from Form2
}
我想調用一種方法od從Form1和Form2到Form3 但問題出在兩個按鈕btF1和btF2 =>沒有給出的參數對應於Form3.Form3(Form1,Form2)' '所需的形式參數'owner2'所以解決方案!
爲什麼不能讓他們在Form3能特性從Form1和Form2設置? – Kidiskidvogingogin
Form3需要兩個參數Form1所有者,Form2所有者2,並且您只發送一個參數。改變form3只需要一個參數,或改變你的調用方法發送兩個參數 - 或使用THIS關鍵字(谷歌c-sharp可選參數)使form3的構造函數的第二個參數可選 –
我還會問這個問題:「這是一個函數需要立即運行,或者可以在窗體關閉時運行「。如果是後者,你可以使用FormClosing事件處理程序 – Takarii