2014-03-05 77 views
0

比如我有這些文件:如何從窗體獲取默認的resx文件?

Form1.Designer.cs

Form1.en-US.resx

Form1.resx中

我想訪問Form1.resx文件。
這是我試過的,但它返回我 - 基於操作系統的語言 - resx文件。但是我總是希望擁有這個form1.resx文件,而不管操作系統的語言如何。

ResourceManager rm = new System.Resources.ResourceManager(typeof(Form1)); 
ResourceManager rm = new System.Resources.ResourceManager("TranslatedText.Form1",typeof(Form1).Assembly); 

我忽略了什麼嗎?

+1

很難理解這個問題。 .resx文件僅存在於您的機器上,您不會將其部署到用戶的機器上。所以你不能「訪問」它。 ResourceManager.GetString()將CultureInfo作爲參數。 –

+0

@HansPassant這可能是有道理的,但在form1.resx也是其他事情的其他聲明,如窗體的名稱。所以form1.resx必須部署在用戶的機器上 – Brampage

回答

0

我已經找到了自己的答案。

這是我做的,它的工作原理:)

ResourceManager rm = new System.Resources.ResourceManager(typeof(Form1)); 

獲取Form1類的資源。

string defaultCultureValue = rm.GetString("label1.Text", CultureInfo.CreateSpecificCulture("")); 

這將試圖獲得一個特定的文化,其中有豈不等於,所以它會得到默認創建的文化,這是Form1.resx中的文件。

0

我想你總是可以像上課一樣訪問它。

<Name of resx file>.<name of the key added> 

例如:如果一個資源文件名爲資源1​​和一個字符串值密押,那麼可以爲

Resource1.testkey 

訪問這裏是一個link可以幫助你。它有代碼從資源文件yb中檢索文件位置的值。

希望這會有所幫助。

+0

問題是它嵌套在我的Form1.cs類下。當我試圖獲取Form1.resx文件時,我不能。像這樣:TranslatedText.Form1.Form1.resx Brampage

+0

@Castrovalva:已添加一個鏈接,其中包含檢索資源文​​件值的步驟。 –