2013-07-25 106 views
-5

我是C#Winforms的新手。有很多人問這個問題,但我仍然找不到答案。C#窗體將值傳遞給另一個

我有一個操作數據並將信息上傳到服務器的表單。現在我硬編碼服務器信息。我創建了另一個表單,要求用戶輸入服務器/登錄信息。我想將服務器/登錄信息傳遞給第一種形式。我會怎麼做呢? 謝謝

+0

你有什麼嘗試,顯示一些代碼,有人可能能讓你朝着正確的方向前進。 – Bit

+0

您可以將您的用戶名/密碼變量設置爲公共,並在顯示錶單時使用ShowDialog並檢查DialogResult.OK。在那個檢查裏面你可以引用這些變量,比如:loginForm.Username等:) – LokiSinclair

+0

哪個表格調用哪個? (主表單彈出另一個詢問信息的對話框,或請求表單是否在輸入詳細信息後打開處理表單? –

回答

0

請參考以下關於傳遞參數的MSDN頁面:

http://msdn.microsoft.com/en-us/library/0f66670z(v=vs.71).aspx

就我個人而言,我會在一個單獨的類中執行數據訪問並實現一個public void Login(string user, string password, string server)方法。然後第二種形式將利用這個類的其他方法來檢索和顯示數據。

+1

只是爲了闡明您對實施公共無效登錄的建議函數...你會在第一種形式創建函數?並通過調用登錄函數訪問它的第二種形式..我將如何去做這個..讓我們說例如 –

+0

抱歉..我不得不去工作..我會考慮這個選項 –

+0

不要以任何形式放置你的數據訪問代碼創建第三個類AuthSystem,它包含一個公共的'bool Login(string user,string pass,string server)'方法。你正在進行額外的服務器通信,除了身份驗證之外,我還會創建另一個類來設置和管理與遠程系統的連接。一般來說,每個類都應該有一個相當特殊的通過它可以與其他類交互的目的和定義明確的接口。 Google「面向對象的設計實踐」提供了更多信息。 – Dan

0

有多種方法。僅舉幾下,你可以:

  • 創建靜態類,以便所有形式都可以訪問它
  • 創建您的形式和屬性設定值
  • 創建您的登錄窗體上的事件,有你等形式註冊事件,並通過自定義eventargs類傳回值
0

我猜有很多方法可以做到這一點。

  • publicinternal性質上的形式
  • 事件
  • publicinternal方法(包括兩種形式,具體取決於其形式將數據發送到哪個)
相關問題