none
請教一下C#程式架構問題 RRS feed

  • 問題

  • 請教一下各位前輩,小弟有一專案,作為生產管理,又有一專案為庫存管理。

    今有一需求,因生產管理需要開啟庫存管理的進出庫的表單,那有沒有辦法,讓生產管理直接存取庫存管理專案裏的 FROM。

     

    或是請各為前輩指導一下該如何做許多專案共用的FROM呢??

    2007年5月28日 上午 01:36

解答

  • 1. 我極度不建議 "共用 FORM" ,但我很建議使用 "User Control",或者是一些共同的表單 Layout,可以用表單繼承來做。

    2. 將共用的使用者介面放在 DLL (類別庫)或是控制項函式庫中,再由每個專案引用呼叫。

    2007年5月28日 上午 02:36
    版主
  • 這情況就跟小朱大說的第二種情況一樣. 而那個專案去引用它,就看是你那個專案會去用的到囉.

    像一般WinForm都會在程式頂端using System.Windows.Forms, 在專案的Reference那邊,你也可以看到System.Windows.Forms.

    所以你要先加入Reference,之後才能在程式中using.

     

    而要被Reference,就要用類別庫DLL囉.

    2007年5月28日 上午 04:20

所有回覆

  • 可以的,因為共用FORM是常有的事.

     

    一般來說,一個Solution可以包多個Project,只要把要用的Form的那個Project拉進來,加入參考,就可以用了.

     

    如果沒有在同一個Solution也可以,也是一樣把那個Form所屬的Project,把物件加入參考,就可以開同一個Form了,但詳細運用部份,要參考原程式設計,不是每個都可以直接拉進入參考就好.比如說,程式在登入時,會設定一些參數供某些表單使用,如果另寫了一個Project,把這個表單Reference進來用,跳過這個登入時所做的參數設定,那麼這個被參考的表單就會出問題.

     

    2007年5月28日 上午 01:56
  • 您好,您的意思是說直接將專案名稱加入參考,在需要使用時直接呼叫  專案名稱.FROM   是這樣嗎??

     

    2007年5月28日 上午 02:16
  • 當然該專案需為Class類別庫,把這個專案加入參考後,就可以拿來用了.

    例如這個Form是放在ClassTest的這個類別庫裡.

    只要Reference這個ClassTest就好.

    之後要用時,就ClassTest.Form1.ShowDialog()就可以呼叫出來了.

    2007年5月28日 上午 02:30
  • 1. 我極度不建議 "共用 FORM" ,但我很建議使用 "User Control",或者是一些共同的表單 Layout,可以用表單繼承來做。

    2. 將共用的使用者介面放在 DLL (類別庫)或是控制項函式庫中,再由每個專案引用呼叫。

    2007年5月28日 上午 02:36
    版主
  • 多謝,是否是建立新的類別庫,將會共用的FROM放進類別庫中,主要的專案在去呼叫引用他呢?
    2007年5月28日 上午 03:00
  • 這情況就跟小朱大說的第二種情況一樣. 而那個專案去引用它,就看是你那個專案會去用的到囉.

    像一般WinForm都會在程式頂端using System.Windows.Forms, 在專案的Reference那邊,你也可以看到System.Windows.Forms.

    所以你要先加入Reference,之後才能在程式中using.

     

    而要被Reference,就要用類別庫DLL囉.

    2007年5月28日 上午 04:20
  • 多謝兩位大哥的幫忙,現在要開始改寫專案了!

    再次感謝!

     

    2007年5月28日 上午 04:47