1
私はMenuStrip
とのMenuStrip
を持つWinFormsアプリケーションをMSVCのデザイナー経由で追加しました。ToolStripMenuItem.DropDownList文字列を介したクエリでは何も返されません
コードでは、menuItem
に新しいアイテムを追加しています。それから、それをDropDownItems
コレクションで見つけようとしています。私はいくつかの方法を試しましたが、最近追加されたアイテムは見つかりませんでした。
public Form1()
{
InitializeComponent();
string name = "Name";
var nameItem = new ToolStripMenuItem(name);
menuItem.DropDownItems.Add(name);
menuItem.DropDownItems.Add(nameItem);
// query via string doesn't work
Debug.Assert(menuItem.DropDownItems[name] != null); // fails
Debug.Assert(menuItem.DropDownItems.ContainsKey(name)); // fails
Debug.Assert(menuItem.DropDownItems.Find(name, false).Length > 0); // fails
Debug.Assert(menuItem.DropDownItems.IndexOfKey(name) >= 0); // fails
// query via reference does
Debug.Assert(menuItem.DropDownItems.Contains(nameItem)); // passes
Debug.Assert(menuItem.DropDownItems.IndexOf(nameItem) >= 0); // passes
}
あなたが提供するものは、その商品の名前ではなく、商品のテキストです。どのようにこれについて: 'menuItem.DropDownItems.Add("表示するテキスト ")。Name = name'。 – DonBoitnott