在 Windows 表单中扩展 ToolStripItem class

Extends ToolStripItem class in Windows Forms

我想将我自己的 class 添加到 windows 表单中的 ToolStripMenuItem 对象。

根据这个问题:Custom ToolStripItem 我试过这个:

using System.Windows.Forms;
// ...
public class CultureItem : ToolStripItem
{
    public new string Text { get; set; }
    public new string Name { get; set; }
    public CultureInfo CultureInfo { get; set; }
}
// ...
public partial class View : Form
{
    public View()
    {
        var item = new CultureItem
        {
            Text = "Italy", Name = "IT", CultureInfo = new CultureInfo("it-IT")
        };
        languageToolStripMenuItem.DropDownItems.Add(item);
    }
}

using System.Windows.Forms;
// ...
public class CultureItem : ToolStripMenuItem
{
    public new string Text { get; set; }
    public new string Name { get; set; }
    public CultureInfo CultureInfo { get; set; }
}
// ...
public partial class View : Form
{
    public View()
    {
        var item = new CultureItem
        {
            Text = "Italy", Name = "IT", CultureInfo = new CultureInfo("it-IT")
        };
        languageToolStripMenuItem.DropDownItems.Add(item);
    }
}

使用上面的代码我没有收到任何错误,但是 ToolStripMenuItem 显示一个值但没有文本。

只需使用:

class CultureItem : System.Windows.Forms.ToolStripMenuItem
{
     public CultureInfo CultureInfo { get; set; }
}

NameText 成员将出席。