MenuItemのNameプロパティ

タグの編集
投稿者 FORZA  (社会人) 投稿日時 2009/1/7 02:22:12
VB初心者です。

デザイン時に設定したMenuItemのNameプロパティを実行時に参照したいのですが、
他のコントロールのようにControl.Nameとしても長さ0の文字列("")が返されてしまいます。


Private Sub MenuItem1_Click(ByVal sender As ObjectByVal e As System.EventArgs) Handles MenuItem1.Click
    MessageBox.Show(sender.Name)
End Sub

Private Sub Button1_Click(ByVal sender As ObjectByVal e As System.EventArgs) Handles Button1.Click
    MessageBox.Show(Me.Menu.MenuItems(0).Name)
End Sub


デザイン時に設定したMenuItemのNameプロパティを実行時に参照するにはどうしたら良いでしょうか。

投稿者 るしぇ  (社会人) 投稿日時 2009/1/8 01:24:00
Designer.vb を見ると、データを更新しても Name を書込む
コードが作成されないみたいです。
一度、自分で Name プロパティを設定すれば使えるみたいですが、
以降は MenuStrip を使ったほうが良いようです。
投稿者 FORZA  (社会人) 投稿日時 2009/1/10 03:16:59
返答遅くなってしまって申し訳ないです。

るしぇさん、いつもありがとうございます。

>Designer.vb を見ると、データを更新しても Name を書込む
コードが作成されないみたいです。

私も確認してみました。確かに、MenuStripも含めて他のコントロールの部分には
「.Name = ~」とあるのに、MenuItemの部分にはそれがありませんね・・・。

しかし自分でNameプロパティを設定するには手間とリスクが伴ってしまうので、
MenuStripを使う方向で検討してみようかと思います。