• 締切済み

プログラムから追加したドロップダウンメニューについて

プログラム内からドロップダウンメニューを追加して、追加されたメニューをクリックすると処理を実行するプログラムを作っています。 そこで質問なのですが ToolStripMenuItem.DropDownItems.Add でメニューをいくつか追加した後 Private Sub ToolStripMenuItem_DropDownItemClicked(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles ToolStripMenuItem.DropDownItemClicked Dim a As String a = e.ClickedItem.ToString End Sub で、ドロップダウンメニューに追加した項目名を取得できるのはわかったのですが、クリックされたメニューが上から何番目かを示すINDEXに相当する値を取得するにはどうしたらよいのでしょうか。調べてみたのですが、見つかりませんでした。 一つ一つ名前を照合していくしかないのでしょうか?

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

Indexに相当する項目は無いようです イベントの Sender引数は ToolSTripMenuItemですからこれのDoropDownItemsを自前で検索といった手法でしょう Dim ddItems As ToolStripItemCollection = CType(sender, ToolStripMenuItem).DropDownItems dim n as integer, s as String s = e.ClickedItem.ToString for n = 0 to ddItems.Count -1   if s = ddItems(n).Text then     exit for   end if next if n<>ddItems.Count then   MsgBox( "Index=" & n ) end if といった具合でしょう …

noname#115724
質問者

お礼

やはりfor~nextで 一つ一つ照合するしか手がなさそうですね。 ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A