2011-12-23 95 views
0

我想創建一個自定義菜單條(以便它可以更改菜單內容)。 我的想法是我設置了三個屬性:v1,v2,lang1。 v1是內容1的menustrip文本,v2是內容2. lang是一個決定內容的整數。 如下面:如何創建帶有多個內容的菜單欄?

public string settext1 {get {return text1;} set {text1=value}; } 
public int Lang {get {return lang1;} set {lang1=value};if (lang==1)menustrip.text=text1;if(lang==2)menustrip.text=text2; } 

回答

1

如何不創建一個自定義的,但使用Tag property存儲自己的對象嗎?

Tag屬性類型爲object,對於所有Control派生類都是通用的。你可以例如創建自己的課程,然後將其添加到該屬性。

public class MyTagInfo 
{ 
    public string V1 { get; set; } 
    public string V2 { get; set; } 
    public int Lang { get; set; } 
} 

然後使用它是這樣的:

menustrip.Tag = new MyTagInfo { V1 = "...", V2 = "...", Lang = 1 }; 
+1

沒有比問題中給出的更多信息,這是一個明智的答案。 – TheBlastOne 2011-12-23 17:15:13

+0

如何使用menustrip.Tag?我不太明白 – 2011-12-27 05:03:49

0

你可能有單獨的控制在MenuStrip中,每一個Lang值。然後,無論何時Lang更改,您都可以重新設置控件的EnabledVisible屬性。

您可以/應該在Lang設置器中執行此操作,因此您可以確保每次Lang更改都會適當地配置GUI。