我如何创建一个菜单带多内容
本文关键字:菜单 一个 何创建 创建 | 更新日期: 2023-09-27 18:18:36
我想创建一个自定义菜单条(以便它可以更改菜单内容)。我的想法是设置三个属性:v1, v2, lang1。V1是内容1的菜单条文本,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; }
如何不创建一个自定义的,但使用Tag
属性来存储自己的对象?
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 };
您可以在菜单栏中设置单独的控件,每个控件对应一个Lang
值。然后,当Lang
发生变化时,您可以重新设置控件的Enabled
或Visible
属性。
您可以/应该在Lang
setter中这样做,这样您就可以确保每次Lang更改都将适当地配置您的GUI。