-1
我有一個字符串變量SuppCode,我在Form1中賦值。我想在Form2的Switch語句中使用這個變量。我試過使用public string SuppCode;
,但我仍然在交換機中獲得The name 'Switch' does not exist in the current context error
。什麼是我需要改變,以允許我使用SuppCode Form2?跨表格使用變量
我有一個字符串變量SuppCode,我在Form1中賦值。我想在Form2的Switch語句中使用這個變量。我試過使用public string SuppCode;
,但我仍然在交換機中獲得The name 'Switch' does not exist in the current context error
。什麼是我需要改變,以允許我使用SuppCode Form2?跨表格使用變量
是Form1的所有者嗎?我的意思是,你使用instanceOfForm2.Show(instanceOfForm1);或者instanceOfForm2.ShowDialog(instanceOfForm1);顯示Form2?如果是,你可以這樣做:
string s = ((Form1)this.Owner).SuppCode;
從Form2的訪問變量
編輯: 您的形式已成立業主,當它被證明使用方法:
Form1 form1 = new Form1();
Form2 form2 = new Form2()
form2.Show(form1);
//or
form2.ShowDialog(form1);
然後form2將Owner屬性設置爲form1。
您還可以在Form2中創建自己的屬性以引用您的表單1。
class Form2
{
public Form1 MyFormRef{get;set;}
public Form2(){/*...*/}
// or:
public Form2(Form1 formref)
{
this.MyFormRef = formref;
}
private string getSuppCode()
{
if(this.MyFormRef!=null)return this.MyFormRef.SuppCode;
else return null;
}
}
使用:
Form1 form1 = new Form1();
Form2 form2 = new Form2();
form2.MyFormRef = form1;
或:
Form1 form1 = new Form1();
Form2 form2 = new Form2(form1);
我只使用frmReport F =新frmReport(); f.Show();顯示Form2(名爲frmReport)。當我嘗試上面的代碼時,我得到一個「未設置爲對象實例的對象引用」。錯誤。 – user1936588