C#.Net新手的絆腳石、擋路牆,教你如何在兩個視窗之間共用變數的簡單小技巧。
廢話不多說,以下就來進行【在兩個視窗互相傳值】的解決方案吧!
1.開啟專案後,分別增加Form1與Form2。
2.在Form1增加以下語法:
namespace PeterDotNetCS100818
{
public partial class Form1 : Form
{
delegate void ThreadsSynchronization();
Form2 f2 = new Form2();
public Form1()
{
InitializeComponent();
f2.f1 = this;
}
}
}
3.在Form2也打上與法:
namespace PeterDotNetCS100818
{
public partial class Form2 : Form
{
internal Form1 f1 = null;
public Form2()
{
InitializeComponent();
}
}
}
PS:其中internal Form1 f1 = null;中的internal也可以設為public,端看個人如何設置。
4.所有會使用到的元件或是變數,都要將Modifiers屬性改為Public或是Internal,目前只有試過此兩個屬性可以正常運作,其他則不確定,大家可以試看看,但是可以確定的是Private是絕對不能用的。
其實這樣就大功告成了,以上3個步驟完成後,就可以像在VB.Net上輕易的在兩個視窗互相使用對方的變數或是物件,不過若是專業的程式,或是具有安全考量的專案的話,就不建議這樣做了,其實這樣的寫法理論上並不符合安全性的要求,至於,基於安全性的方法留到以後再來分享。
PS:範例檔案中有完整的程式,實際秀出功能,有興趣的朋友歡迎參考。