none
請問一些Visual C#問題 RRS feed

  • 問題

  • 1.請問Visual C#應用程式開發,要如何改變不同...應該算功能吧!
    就是假設有一個應用程式,開啟裡面有四個按鈕,分別為"a按鈕","b按鈕","c按鈕","d按鈕",每個按鈕要如何執行不同介面form...應該說畫面或功能...麻煩了解可以給我範例或細說...感謝!

    2.那如果應用程式寫好了,要如何儲存成exe,可以讓其他電腦可直接執行,不會在出現visual 編寫狀態,是不是要寫成DLL??假如是的話...可麻煩教我如何寫成dll...感謝
    2009年4月15日 上午 02:45

解答

  • HI,

    1) 假設Form1為類別名稱, 顯示Form上的做法:
        Form1 f=new Form1();
        f.ShowDialog();

    2) Windows應用程式型態的專案建置成功就會得到EXE, 類別庫專案的可態建置成功就會得到DLL
    • 已標示為解答 weipxf 2009年4月15日 上午 10:41
    2009年4月15日 上午 03:18
  • yifang:
           1.有兩種方法:
              (1)用SDI FORM開發:一樣建立一般的Window form,然後有一個畫面是主要的,上面有Button_1,Button_2....
                  例如Button_1要開啟另一個叫frm01的畫面,就是在其Click事件中撰寫 frm01.Show()...以此類推
              (2)用MDI FORM開發:先將主畫面設成MDI的容器,也就是[Form.IsMdiContainer 屬性] 要設為True,而其它子畫面必須設定其[
              example如下:
              Me.MdiParent = MainForm
              Me.Parent = MainForm.TSC1.ContentPanel

            2.關於建置成exe檔的部份,請詳見MSDN文件庫[HOW TO:準備和管理組建] 
            3.DLL是不能直接執行的.可以直接執行的是EXE  
    • 已標示為解答 weipxf 2009年4月15日 上午 10:41
    2009年4月15日 上午 03:29
    版主
  • 建置完Exe會在專案目錄下的Bin資料夾
    找一下就會看到了
    可以拿到別台執行
    不過前提是必須裝上.NET Framework

    書上不詳細是因為你買錯書了
    程式書有談很多不同主題
    你應該找如何使用Visual Studio的書
    微軟就有出了

    http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 weipxf 2009年4月15日 上午 10:41
    2009年4月15日 上午 08:06
  • yifang:
          你開啟檔案總管看一下,在你的專案的目錄下可以找到一個[bin]的目錄,當你的組態是Debug時,在[bin]目錄下的[debug]目錄就是在debug組態建置完成的檔案 ,如果是release組態,在[bin]目錄下的[release]目錄就是在release組態下所建置的檔案,如果你是<Windows應用專案>或<主控台應用專案>,這時就會有exe檔
          如果你要寫DLL檔,<記得DLL檔是不能獨立執行的>,通常是為了建立類別庫,或控制項程式庫,這在開新專案時就要決定了.
          若是你才剛初學Visual C#,建議你先熟悉Windows 應用程式如何撰寫,等你入門了,再學寫類別庫會好一點.

         .Net Framework編譯完成的exe檔,只要對方電腦有安裝對等版本或以上的.NET Framework(不是Visual Studio),就可以執行了.
    • 已標示為解答 weipxf 2009年4月15日 上午 10:40
    2009年4月15日 上午 08:07
    版主
  • yifang:
            是的,有些時候我們會建立自己的類別庫或是自訂控制項.就會使用這類的專案類型.
            SDI:單一文件介面 <--建議先寫這類型.
            MDI:多重文件介面
    • 已標示為解答 weipxf 2009年4月15日 上午 10:40
    2009年4月15日 上午 10:22
    版主

所有回覆

  • 有點距離.
    最簡單的方式是買書,看書,看書,買書.

    2009年4月15日 上午 02:59
  • HI,

    1) 假設Form1為類別名稱, 顯示Form上的做法:
        Form1 f=new Form1();
        f.ShowDialog();

    2) Windows應用程式型態的專案建置成功就會得到EXE, 類別庫專案的可態建置成功就會得到DLL
    • 已標示為解答 weipxf 2009年4月15日 上午 10:41
    2009年4月15日 上午 03:18
  • yifang:
           1.有兩種方法:
              (1)用SDI FORM開發:一樣建立一般的Window form,然後有一個畫面是主要的,上面有Button_1,Button_2....
                  例如Button_1要開啟另一個叫frm01的畫面,就是在其Click事件中撰寫 frm01.Show()...以此類推
              (2)用MDI FORM開發:先將主畫面設成MDI的容器,也就是[Form.IsMdiContainer 屬性] 要設為True,而其它子畫面必須設定其[
              example如下:
              Me.MdiParent = MainForm
              Me.Parent = MainForm.TSC1.ContentPanel

            2.關於建置成exe檔的部份,請詳見MSDN文件庫[HOW TO:準備和管理組建] 
            3.DLL是不能直接執行的.可以直接執行的是EXE  
    • 已標示為解答 weipxf 2009年4月15日 上午 10:41
    2009年4月15日 上午 03:29
    版主
  •  恩~有買書看書了,但書上未必寫那麼細。
    2009年4月15日 上午 07:53
  • 大概了解你說的第一種方式,然後第二個問題建置完,會有exe??
    請問你是指專案裡面有個.exe執行時候直接點選?那如果我拿去別台電腦(只拿exe檔)可以執行嗎?
    甚麼是>>類別庫專案的可態建置成功就會得到DLL
    2009年4月15日 上午 07:58
  • 嗯嗯~1.大概了解...那什麼是SDI??MID??
    dll不能執行...那dll用來做什麼的?用途是?
    是跟tihs說得一樣嗎?"類別庫專案的可態建置成功就會得到DLL"
    2009年4月15日 上午 08:03
  • 建置完Exe會在專案目錄下的Bin資料夾
    找一下就會看到了
    可以拿到別台執行
    不過前提是必須裝上.NET Framework

    書上不詳細是因為你買錯書了
    程式書有談很多不同主題
    你應該找如何使用Visual Studio的書
    微軟就有出了

    http://www.dotblogs.com.tw/larrynung/
    • 已標示為解答 weipxf 2009年4月15日 上午 10:41
    2009年4月15日 上午 08:06
  • yifang:
          你開啟檔案總管看一下,在你的專案的目錄下可以找到一個[bin]的目錄,當你的組態是Debug時,在[bin]目錄下的[debug]目錄就是在debug組態建置完成的檔案 ,如果是release組態,在[bin]目錄下的[release]目錄就是在release組態下所建置的檔案,如果你是<Windows應用專案>或<主控台應用專案>,這時就會有exe檔
          如果你要寫DLL檔,<記得DLL檔是不能獨立執行的>,通常是為了建立類別庫,或控制項程式庫,這在開新專案時就要決定了.
          若是你才剛初學Visual C#,建議你先熟悉Windows 應用程式如何撰寫,等你入門了,再學寫類別庫會好一點.

         .Net Framework編譯完成的exe檔,只要對方電腦有安裝對等版本或以上的.NET Framework(不是Visual Studio),就可以執行了.
    • 已標示為解答 weipxf 2009年4月15日 上午 10:40
    2009年4月15日 上午 08:07
    版主
  • 建立類別庫,或控制項程式庫,是代表要自己建立類別庫跟控制項程式庫嗎?

    2009年4月15日 上午 10:15
  • yifang:
            是的,有些時候我們會建立自己的類別庫或是自訂控制項.就會使用這類的專案類型.
            SDI:單一文件介面 <--建議先寫這類型.
            MDI:多重文件介面
    • 已標示為解答 weipxf 2009年4月15日 上午 10:40
    2009年4月15日 上午 10:22
    版主
  • 我在google找不到SDI與MDI,我可以知道完整英文嗎?
    單一文件是指"單一視窗"嗎?

    bin有debug與release兩個目錄的檔案均相同...

    請問裡面的

    xxx.exe <<我知道這個是執行檔了
    xxx.pdb 那這個??
    xxx.vshos ??

    2009年4月15日 上午 10:39
  • yifang:
            [裝載處理序 (vshost.exe)]
            [PDB 檔 (C#、J# 和 Visual Basic)]
            [多重文件介面 (MDI) 應用程式 ]
            [組建組態]
            [HOW TO:設定偵錯和發行組態]
            Debug的內容會多出一些除錯的資訊,Release則否     
    2009年4月15日 上午 10:49
    版主
  • yifang:
          你開啟檔案總管看一下,在你的專案的目錄下可以找到一個[bin]的目錄,當你的組態是Debug時,在[bin]目錄下的[debug]目錄就是在debug組態建置完成的檔案 ,如果是release組態,在[bin]目錄下的[release]目錄就是在release組態下所建置的檔案,如果你是<Windows應用專案>或<主控台應用專案>,這時就會有exe檔
          如果你要寫DLL檔,<記得DLL檔是不能獨立執行的>,通常是為了建立類別庫,或控制項程式庫,這在開新專案時就要決定了.
          若是你才剛初學Visual C#,建議你先熟悉Windows 應用程式如何撰寫,等你入門了,再學寫類別庫會好一點.

         .Net Framework編譯完成的exe檔,只要對方電腦有安裝對等版本或以上的.NET Framework(不是Visual Studio),就可以執行了.

    請問我將執行檔在別台電腦可執行但放在server供其他電腦執行卻有問題(client都有安裝對等版本或以上的.NET Framework)
    2009年4月21日 下午 03:12
  • 趕路人:
         放在Sever ?意指是用檔案分享的方式將該目錄分享給Client端執行嗎?
         依你程式的撰寫,某些情況可能會有路徑的問題.
         可否提供更明確的錯誤訊息呢?
    2009年4月21日 下午 03:25
    版主
  • 1.書買錯?沒有詳細的介紹? 我想書應該不會買錯!你買的時候不是有preview過麼!詳細介紹,應該很少這種書吧!但看了很多書之後就會了.(我在開始學程式時,一年都花上萬元買書).
    2.MDI,SDI有聽過,沒用過.現在寫Windows Form 不是要開幾個表單就有幾個表單嗎?
    3.開Form 你可以用 form.Show(). form.ShowDialog(),還有用程式或超連結方式將form OR Control 崁入你要顯示的容器之中.
    4.xxxx.xxx,這付檔名,你上搜尋引擎就查的到了.
    5.DLL,EXE..是程式實體上的分割,這跟Class NameSpace是邏輯上的分割作區分.通常是讓程式更容易開發,共用,維護...目的去分割.
    2009年4月22日 上午 12:44
  • yifang:
          你開啟檔案總管看一下,在你的專案的目錄下可以找到一個[bin]的目錄,當你的組態是Debug時,在[bin]目錄下的[debug]目錄就是在debug組態建置完成的檔案 ,如果是release組態,在[bin]目錄下的[release]目錄就是在release組態下所建置的檔案,如果你是<Windows應用專案>或<主控台應用專案>,這時就會有exe檔
          如果你要寫DLL檔,<記得DLL檔是不能獨立執行的>,通常是為了建立類別庫,或控制項程式庫,這在開新專案時就要決定了.
          若是你才剛初學Visual C#,建議你先熟悉Windows 應用程式如何撰寫,等你入門了,再學寫類別庫會好一點.

         .Net Framework編譯完成的exe檔,只要對方電腦有安裝對等版本或以上的.NET Framework(不是Visual Studio),就可以執行了.

    請問我將執行檔在別台電腦可執行但放在server供其他電腦執行卻有問題(client都有安裝對等版本或以上的.NET Framework)

    10. 請勿「借題發問」,除非你真的有把握你的情況和原發問者的情況相似度高達99.9999999....%

    有些網友可能認為某個討論串的主題和自己碰到的問題很類似,會借用這個標題來問問題,但是這樣會:

    • 原發問者可能環境和問題的狀態和你的情況差很多
    • 討論串可能被標記解答的回應是回你的問題,而不是回應原發問者的問題
    • 後人閱讀時可能會因為你追加問題而有所混淆

    因此,請不要使用「借題發問」的方式來問問題,除非真的有把握你的問題情況和原發問者的情況相似度趨近100%,所謂的相似度評量有:

    • 作業系統的相似度。
    • 開發工具的相似度。
    • 網路環境的相似度。
    • 開發方向與預期結果的相似度。

    小人物一枚。
    2009年4月22日 上午 12:47
    版主