2012-01-15 61 views
0

我創建了一個窗體,可以打開文件窗口對話框。使用這種形式,我想將我打開的文件名傳遞給主函數,以便使用文件中的數據。我想知道我是否應該在form.cs或program.cs窗口中編寫代碼!我在C#中使用form.cs或program.cs嗎?

+2

它很難猜到發生了什麼事情:) – adatapost 2012-01-15 07:29:24

+0

很抱歉...我是一個新手,所以我不知道如果我不得不在form.cs窗口代碼或Program.cs的窗口....基本上,我想從表單傳遞文件名到主要功能...所以,這是我的必需任務! – Jagadheshwar 2012-01-15 07:35:02

+0

@ user1047753請參閱下面的答案。如果你是一個新手 - 在你開始學習的時候做任何事情!擔心稍後再做。 – ColinE 2012-01-15 07:42:04

回答

1

這真的取決於你想達到的目標嗎?如果這是一個簡單的丟棄程序,無論哪一個都是最簡單的!如果這是一個你計劃開發超過幾個小時並且想要正確構建它的程序,那麼答案是既不是

較大的應用程序需要的方式來支持各種關切得到結構:

  • 再利用 - 即代碼可以在不同的環境中使用。代碼隱藏在形式不重複使用(除非你用靜態方法 - 呸)
  • 可驗證 - 背後不能被單位執行形式的代碼測試
  • 分離的-關注 - 你應該嘗試將執行單個特定功能的代碼分離到自己的類中,這將促進重用並啓用測試。

我會推薦學習Model-View-Presenter或其他一些MVx模式。

1

這是很不清楚爲什麼你有一個窗體,但要求OpenFileDialog將選擇返回到Main()方法。我猜你根本就不需要這種形式。只需在您的Main方法中直接使用該類。就像這樣:

[STAThread] 
    static void Main() { 
     Application.EnableVisualStyles(); 
     Application.SetCompatibleTextRenderingDefault(false); 
     var dlg = new OpenFileDialog(); 
     // Set dlg properties 
     //... 
     if (dlg.ShowDialog() == DialogResult.OK) { 
      // Do something with dlg.FileName 
      //... 
     } 
    } 
相關問題