回答
您必須以您希望傳遞給的形式聲明公共屬性。然後,實例化新表單後,這是一個簡單的任務:
C#:MyOtherInstantiatedForm.CustomerID = CurrentCustomerID;
你需要圍繞客戶ID傳遞到幾種形式?其他客戶信息如何?如果您提供更多信息,我們可以爲您提供更好的解決方案。
如果客戶ID是公開:
frmTwo.CustomerId = frmOne.CustomerId
感謝這個信息是非常有用得多,我用它。 – Sarathy 2009-01-17 16:02:22
爲了增加吉姆的回答,您可以通過公共屬性或通過形式的構造函數傳遞變量。所以
Form2 frm = new Form2(customerId);
或像吉姆提供的。有很多方法來獲取價值,如果第二種形式依賴於它,我更喜歡構造函數。
這裏要注意的最重要的事情是Form只不過是一個C#類。如果你用這些術語思考一個表格,答案本身可能會跳出來。
本質上,有兩個選項,你有。第一種方法是在表單上公開一個您希望傳遞數據的屬性。如果你的表單不依賴於傳遞的數據,那麼這是一個體面的方法。
CoolForm myForm = new CoolForm();
myForm.MyProp = "Hello World";
myForm.ShowDialog();
第二個選項是通過構造函數傳遞數據。爲了正常工作,當表單依賴數據時,我更喜歡這種方法。我也傾向於將無參數構造函數標記爲私有的,以確保表單被正確實例化。
CoolForm myForm = new CoolForm("Hello World");
myForm.ShowDialog();
希望幫助...
我以前見過的另一種方法是將數據放在窗體上的隱藏控件中,然後讓其他窗體訪問它通過控制的屬性。不是很優雅,但我已經看到它做了很多次。 – 2008-12-26 18:24:59
- 1. windows應用程序
- 2. Windows 8應用程序和Windows Phone應用程序提交
- 3. 桌面應用程序(Windows應用程序)連接Windows手機
- 4. Windows商店應用程序
- 5. Windows應用程序和CLR
- 6. Windows Form DLL應用程序
- 7. NHibernate與Windows應用程序
- 8. Windows應用程序和Spy ++
- 9. LIFO棧(Windows應用程序)
- 10. 「接管」Windows應用程序
- 11. 重繪windows應用程序
- 12. C#Windows應用程序attachmentFilename
- 13. C#Windows應用程序
- 14. C#Windows應用程序
- 15. Windows Phone 7應用程序
- 16. Boost.Asio Win32 Windows應用程序
- 17. ClickOnce for windows應用程序
- 18. windows mobile應用程序
- 19. Windows應用程序部署
- 20. Windows CE Web應用程序
- 21. Windows應用程序2012
- 22. Windows內的應用程序
- 23. Windows應用程序C
- 24. Windows 8 WPF應用程序
- 25. Windows更新應用程序
- 26. Windows應用程序簽署
- 27. windows phone 7應用程序
- 28. Windows窗體應用程序
- 29. Windows手機應用程序
- 30. SignalR在Windows應用程序
你沒有在OO範例中聲明變量公開,你使用屬性(封裝原則) – zappan 2008-12-26 18:08:30