none
命名問題 RRS feed

  • 問題

  • 找不到型別或命名空間名稱 'frmStatus' (您是否遺漏 using 指示詞或組件參考)
    請問前輩們,要用哪個命名

    2008年3月23日 下午 02:22

解答

所有回覆

  • ...

    沒有這個內建的類別。

     

    以這個名稱猜測,可能是原先的專案有個視窗叫這個名字,用來顯示視窗狀態的。

     

    我自己也常用這個名字命名視窗。

     

    2008年3月23日 下午 02:53
  •  

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;

    namespace CH1
    {
        public partial class CH1_DemoForm010 : Form
        {
            public CH1_DemoForm010()
            {
                InitializeComponent();
            }

            private void CH1_DemoForm010_Load(object sender, EventArgs e)
            {
                DiskDriveComboBox.Items.AddRange(Directory.GetLogicalDrives());
            }

            private void DiskDriveComboBox_SelectedIndexChanged(object sender, EventArgs e)
            {
                 if( DiskDriveComboBox.SelectedIndex != -1)
                 {
                    try
                    {
                        string[] subdirectoryEntries = Directory.GetDirectories((string)DiskDriveComboBox.SelectedItem);
                        DirectoryListBox.DataSource = subdirectoryEntries;
                    }
                    catch(Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        DirectoryListBox.DataSource = null;
                        txtResult.Clear();
                    }
                 }
            }

            private void DirectoryListBox_SelectedIndexChanged(object sender, EventArgs e)
            {
                if( DirectoryListBox.SelectedIndex != -1)
                {
                    // 顯示一個狀態訊息對話方塊來表示我們目前要嘗試取得所有層級的子目錄。
                    frmStatus frmStatusMessage = new frmStatus();
                    frmStatusMessage.Show("嘗試取得所有層級的子目錄,處理中,請稍後....");

                    // 建立一個對應至使用者所選取之目錄的 DirectoryInfo 物件。
                    DirectoryInfo theDir = new DirectoryInfo((string)DirectoryListBox.SelectedItem);

                    StringBuilder sb = new StringBuilder();

                    // 判斷目錄是否存在。
                    if( theDir.Exists )
                    {
                        // 顯示關於該目錄的基本資訊。
                        sb.Append("此目錄的完整路徑是:");
                        sb.Append(theDir.FullName);
                        sb.Append(",它是 ");
                        sb.Append(theDir.Parent.Name);
                        sb.AppendLine(" 的子目錄。");

                        sb.Append("根目錄:");
                        sb.AppendLine(theDir.Root.Name);

                        sb.Append("屬性:");
                        sb.AppendLine(theDir.Attributes.ToString());

                        sb.Append("建立時間:");
                        sb.AppendLine(theDir.CreationTime.ToString());

                        sb.Append("最近一次的存取時間:");
                        sb.AppendLine(theDir.LastAccessTime.ToString());

                        sb.Append("最近一次的寫入時間:");
                        sb.AppendLine(theDir.LastWriteTime.ToString());

                        // 以下的程式碼會列出目錄的內容。

                        DirectoryInfo[] entries;
                        sb.AppendLine("-------------------------------------------");

                        try
                        {
                            entries = theDir.GetDirectories("*", SearchOption.AllDirectories);
                        }
                        catch
                        {
                            sb.Append("您沒有權限來列示此目錄。");
                            txtResult.Text = sb.ToString();
                            return;
                        }

                        if( entries.Length > 0 )
                        {
                            sb.AppendLine(theDir.FullName + " 之下的所有子目錄路徑名稱");
                            sb.AppendLine("-------------------------------------------");

                            foreach(DirectoryInfo entry in entries)
                            {
                                sb.AppendLine(entry.FullName);
                            }
                        }
                    }
                    else
                    {
                        sb.Append("目錄不存在或是您沒有權限來檢視它。");
                    }               
                   
                    frmStatusMessage.Close();
                    txtResult.Text = sb.ToString();
                }
            }
        }
    }

    前輩们,這是visual c# 2005 檔案io與資料存取秘訣的範例,上面的範例,我剛剛問的問題就在上面,而我在寫的時候則frnStatus 的問題過不去,該要如何解決

    2008年3月23日 下午 03:07
  • 書籍上的範例,請參考書上的說明或直接問作者。

     

    Code Snippet
    // 顯示一個狀態訊息對話方塊來表示我們目前要嘗試取得所有層級的子目錄。
    frmStatus frmStatusMessage = new frmStatus();

     

    已經跟你說過,這邊可能是一個視窗的物件。

     

    若是作者有附光碟範例,請優先找 sln 為附檔名的解決方案開啟,而不要開 csproj 這個,因為有可能作者把共用的物件放到另外一個共用專案,所以在你目前的專案找不到。解決方案會把多個專案一起開。

    2008年3月23日 下午 04:12
  • 如果可以確定給你的solution是可以run的版本
    到solution目錄下用檔案總管的內文搜尋你這個keyword frmStatus
    把有使用到這個keyword的source code都列出來查一下 比較可以快速知道他定義在哪

    2008年3月24日 上午 04:27
  • 該書作這的回覆

     

    frmStatus 是一個使用者自訂類別, 撰寫於 frmStatus.vb 中, , 它並不是 .NET Framework 的內建類別. 欲使用 frmStatus, 請將 frmStatus.vb 匯入您的專案中.

     

     

    作者部落格:

    http://gbook.xuite.net/index.php?bookid=13592822&ctgid=0&thrdid=341339

    2008年3月24日 上午 06:24
  •  

    frmStatus.vb 匯入您的專案中,那要如何匯入專案呢
    2008年3月24日 下午 12:08
  •  

    由於我是用的是visual 2005c#的寫法,又該如何匯入專案呢

    ?

    2008年3月24日 下午 12:22
  •  

    很感謝諸位前輩們的辛苦教導,但小弟我還是有問題,因為我不知道該如何匯入上述的元件,請諸位前輩們再一次我這個無知的後輩,謝謝

     

    2008年3月24日 下午 01:42