Windows Form 資源編輯器 (Winres.exe)

更新:2007 年 11 月

Windows Form 資源編輯器 (Winres.exe) 是一個視覺化的版面配置工具,可以幫助當地語系化專家將表單所使用的 Windows Form 使用者介面 (UI) 資源當地語系化。做為 Winres.exe 輸入的 .resx 或 .resources 檔案,可以利用視覺化設計環境 (例如 Microsoft Visual Studio) 加以建立。如需在 .NET Framework 應用程式中部署資源的詳細資訊,請參閱應用程式中的資源

winres resourceFile 
winres /? 

備註

引數

描述

resourceFile

要當地語系化的資源檔。這個檔案必須是 Visual Studio 設計工具所產生的 Windows Form 表單 .resx 或 .resources 檔案。Winres.exe 無法開啟泛用 .resx 或 .resources 檔案。

選項

描述

/?

顯示工具的命令語法和選項。

Windows Form 專案中表單的 UI 項目狀態通常儲存在資源檔內,它可能是副檔名為 .resx 的 XML 檔案,或是副檔名為 .resources 的對應已編譯二進位版本。Winres.exe 是一種工具,可以在 Visual Studio 設計環境外對這兩種類型的檔案進行有限的編輯。更特別的是,它允許下列類型的編輯作業:

  • 編輯中性或特定文化特性 (Culture) 的資源檔,可以變更表單或其控制項的 UI 屬性,例如文字、大小及位置。

  • 從預設的資源檔中可以產生中性或特定文化特性的資源檔。

  • 文化特性資源檔可以儲存成另一個文化特性資源檔。例如,英文 (美國) 資源檔可以儲存成波蘭文資源檔。通常新檔案接著會進行編輯,使其與新文化特性相容。

階層式組織當地語系化的資源
階層式組織當地語系化的資源
階層式組織當地語系化的資源
階層式組織當地語系化的資源

Winres.exe 無法將 .resx 檔案轉換成對應的 .resources 檔案,請改用 Resgen.exe 工具。如需 Resgen.exe 的詳細資訊,請參閱資源檔產生器 (Resgen.exe)

Winres.exe 是一個圖形化應用程式,只需從資源檔即可重新建立設計階段版本的 Windows Form 表單,不需要存取原始程式碼。Winres.exe 可裝載 (Host) Visual Studio 的 Windows Form 表單設計工具和「屬性」視窗。這些功能可以針對內含 Windows Form 表單的 .resources 或 .resx 檔案,進行視覺化編輯。當地語系化人員通常會使用 Winres.exe 來編輯控制項標籤 (Label),並調整控制項的位置和大小,以適應目標文化特性的標籤。

如果 Winres.exe 無法解析控制項的類型,它會在已當地語系化的 .resx 或 .resources 檔案中建立預留位置控制項。預留位置控制項在 Windows Form 表單上會顯示為規劃視窗。規劃視窗的大小和位置與實際控制項的大小和位置相符。預留位置控制項可使用的所有可當地語系化屬性都會顯示在 [屬性] 視窗中。您對預留位置控制項所做的任何變更都會儲存起來,供實際的控制項使用。

Winres.exe 和 Visual Studio 的比較

一般說來,在開始將應用程式的 Windows Form 表單當地語系化之前,應該先決定要使用 Visual Studio 或 Winres.exe 做為當地語系化工具。由於版本相容性 (稍後說明) 的緣故,您可能無法在兩個工具之間切換。

Visual Studio 的優點就是您可以用它來開發應用程式,以及將應用程式當地語系化。若要將表單當地語系化,在開發完成後,請將表單的 LocalizableAttribute (屬性編輯器中的 [Localizable] 屬性) 設定為 true,並將其 [Language] 屬性變更為想要的目標文化特性。然後編輯字串並調整控制項的位置和大小,以容納目標文化特性的字串。當您儲存當地語系化的 .resx 檔案時,Visual Studio 只會將可當地語系化的屬性 (在目標文化特性中會改變的屬性) 寫入檔案中。Visual Studio 會自動在正確的目錄位置中,為當地語系化的 .resx 檔案建立附屬組件。逐步解說:將 Windows Form 當地語系化
逐步解說:將 Windows Form 當地語系化
逐步解說:將 Windows Form 當地語系化
逐步解說:將 Windows Form 當地語系化
逐步解說:將 Windows Form 當地語系化

雖然 Visual Studio 提供整合式的開發和當地語系化環境,但是如果當地語系化工作是由協力廠商的當地語系化人員執行,建議您使用 Winres.exe 工具。由於 Winres.exe 只是一個當地語系化工具,因此可以讓應用程式的程式碼與要當地語系化的表單完全分開,在管理大型專案時,這樣的功能非常實用。

使用 Winres.exe

若要使用 Winres.exe 進行當地語系化,必須先使用像是 Visual Studio 的表單設計工具這類的視覺化設計工具來開發應用程式。當完成開發時,請將表單的 LocalizableAttribute (屬性編輯器中的 [Localizable] 屬性) 設定為 true,然後將預設文化特性的 .resx 檔案交給協力廠商的當地語系化人員。這個 .resx 檔案包含 Winres.exe 重新建立原始表單的設計階段版本所使用的額外資訊。

警告:

Winres.exe 無法用來編輯預設資源檔。Winres.exe 會將所有變更過的屬性解譯為已當地語系化的屬性,並將這些屬性儲存到目標文化特性資源檔中。

最後,最終版本的文化特性資源檔即可用來建立應用程式的當地語系化版本。如需詳細資訊,請參閱應用程式中的資源

Winres.exe 2.0 版具有以下的功能和能力:

  • Winres 可以在單一檔案模式 (SFM) 或 Visual Studio 檔案模式 (VSFM) 中運作。SFM 是舊版模式,其中表單及其內容的完整資訊儲存於資源檔內。VSFM 只將文化特性變更儲存到資源檔。

  • 介面中新增了錯誤報告視窗,停駐於主視窗左下角。

  • 可以使用熱鍵來檢查是否有重複:從 [格式] 功能表,按一下 [檢查熱鍵] 命令。

版本相容性

由於 Visual Studio .NET 2002 和 Visual Studio 2005 的資源檔格式不同,Winres.exe 也做了相對的改變以求相容。因此,通常您必須使用 .NET Framework 隨附的 Winres.exe 版本來建立應用程式。下表列出了相容的版本。

Visual Studio

.NET Framework

Winres.exe

Visual Studio .NET 2002

1.0

1.0

Visual Studio .NET 2003

1.1

1.1

Visual Studio 2005

2.0

2.0

如果您嘗試以 Winres.exe 2.0 版開啟舊版本的資源檔,系統就會出現提示,要求您升級至與 .NET Framework 2.0 版相容的檔案格式。

在 .NET Framework 2.0 版之前的版本中,Winres.exe 和 Visual Studio 的表單設計工具會建立不相容的文化特性中性 (Culture-Neutral) 和文化特性特定 (Culture-Specific) 資源檔。因此一旦開始進行當地語系化處理,您就只能繼續使用同一個工具。不過,Winres.exe 2.0 版已經新增了 Visual Studio 檔案模式 (VSFM)。如其名稱所示,以這個相容模式儲存的資源檔,可以利用任一工具編輯。

注意事項:

雖然 VSFM 有和 Visual Studio 相容的優點,但由於它只儲存資源檔中變更過的值,因此 Winres.exe 會要求目前資源檔的父代 (Parent) 必須位於相同的目錄內。例如,編輯 TestApp.de-DE.resources (德國資源檔中的德文) 資源檔時,預設資源檔 TestApp.resx 必須存在,(如果可能的話) 文化特性中性資源檔 TestApp.de.resources 也要存在。

範例

將和表單關聯的 .resx 或 .resources 檔案當地語系化

  1. 在 [命令提示字元] 中輸入 winres,執行 Winres.exe。

  2. 若要為要當地語系化的表單開啟預設資源,請按一下 [檔案] 功能表上的 [開啟] 命令,巡覽至要開啟的檔案。

    -或-

    啟動 Winres.exe 時,在命令列指定要開啟的檔案。

    下列命令會啟動 Winres.exe,並在表單設計工具中載入與 TestApp.resx 關聯的表單。

    winres TestApp.resx
    

    下列命令會啟動 Winres.exe,並在表單設計工具中載入與 TestApp.resources 關聯的表單。

    winres TestApp.resources
    
    注意事項:

    如果您在編輯其資源的表單屬於繼承的表單,則繼承表單所含的組件以及內含繼承 (衍生) 表單的組件,都必須在全域組件快取 (GAC) 中註冊,或是必須和 WinRes.exe 位於相同目錄。如需將 .NET Framework 元件安裝至 GAC 的詳細資訊,請參閱全域組件快取

  3. 選取表單上的控制項,變更這些控制項的 Text 和其他屬性,以反應當地語系化的文化特性及其語言。依照需要移動或調整控制項大小,以容納當地語系化的文字。

  4. 若要儲存 .resx 或 .resources 檔案的當地語系化版本,請按一下 [檔案] 功能表上的 [儲存] 圖示。工具會顯示 [選取文化特性] 視窗。

  5. 選取適當的文化特性和檔案模式,然後按一下 [確定]。工具會使用執行階段所需的當地語系化資源檔命名規範來儲存檔案。例如,如果您在德國為德國人當地語系化 TestApp.resources,工具會將檔案儲存為 TestApp.de-DE.resources。如果您在德國為德國人當地語系化 TestApp.resx,工具會將檔案儲存為 TestApp.de-DE.resx。如需資源命名規範的詳細資訊,請參閱封裝和部署資源。如需執行階段所使用預先定義的文化特定名稱清單,請參閱 CultureInfo 類別

請參閱

概念

應用程式中的資源

參考

.NET Framework 工具

LocalizableAttribute

CultureInfo

ResourceManager

ResourceReader

ResourceWriter

其他資源

編碼和當地語系化