我如何创建一个菜单带多内容

本文关键字:菜单 一个 何创建 创建 | 更新日期: 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发生变化时,您可以重新设置控件的EnabledVisible属性。

您可以/应该在Lang setter中这样做,这样您就可以确保每次Lang更改都将适当地配置您的GUI。

相关文章: