2008-11-13 28 views
0

我需要將工具欄中的標籤或項目綁定到設計模式中的變量。 我不使用buit-in資源而不使用設置,因此Data部分無用。我正在從映射到類的XML中提取值。從設計模式的Winforms本地化?

我知道有很多這樣的程序: http://www.jollans.com/tiki/tiki-index.php?page=MultilangVsNetQuickTourForms 但他們與編譯的resx一起工作。我想使用未編譯的XML。我創建一個方法(例如,UpdateUI()),在那裏我分配這樣的新值: this.tsBtn.Text = Class.Texts.tsBtnText;

我想我可以從設計模式或比當前更優化的方式做的事情。有沒有自定義控件或擴展?

回答

1

亞歷山大的反應是實現這一目標的一種方式,但是從長遠來看,這將是非常耗時和實際上並沒有提供太多好處,應該問的更大的問題是爲什麼你不想使用.NET和Visual Studio內置的工具和功能,或者至少使用商業化的第三方工具?聽起來像您花費了很多時間來解決已經解決的問題

+0

問題是我不希望編程人員有能力翻譯我使用的XML文本。我把XML放到了網絡中,他們可以直接將它傳遞到網絡上,而不需要編譯任何東西。 – netadictos 2008-11-13 14:39:35

0

嘗試繼承基本的win控件並覆蓋OnPaint方法。示例波紋管是一個按鈕,根據其Tag屬性中包含的值將其文本設置爲paint(假設您將使用Tag屬性設置將用於讀取匹配資源的關鍵點)。然後,你可以找到一些方法來讀取XML文件中的所有高速緩存資源字符串(例如,虛構MyGlobalResources類。

public class LocalizedButton : Button 
{ 
    protected override void OnPaint(PaintEventArgs pevent) 
    { 
     base.OnPaint(pevent); 
     this.Text = MyGlobalResources.GetItem(this.Tag.ToString()); 
    } 
}