• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB6→VB2005移行におけるpopupmenu機能について)

VB6→VB2005移行におけるpopupmenu機能について

このQ&Aのポイント
  • VB6からVB2005への移行において、ポップアップメニュー機能の実装に困っています。
  • VB6のソースコードでは、Form2上で右クリック押下時にポップアップメニューを表示する処理がありますが、VB2005に移行する際に正常に動作しないことが問題となっています。
  • ヘルプや検索を調べた結果、VB2005ではContextmenuまたはContextmenustripを使用することが推奨されているようですが、別フォームを呼び出す方法について具体的な例が見つかりませんでした。実現方法を教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

あ゛~…ちと酔っ払ってるけど、とりあえず簡単な例を Public Class Form1 Private cms As New ContextMenuStrip Private tsmi As New ToolStripMenuItem("右クリックは無効です") Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load cms.Items.Add(tsmi) Me.ContextMenuStrip = cms End Sub End Class これで、Form1を右クリックするとコンテキストメニューが出る ContextMenuStripにToolStripMenuItemを追加して、それをForm1の コンテキストメニューに割り当ててるのが鍵 ちなみにToolStripMenuItemのフォントとかサイズも変えられるし メニューを切り分けるための線はToolStripMenuItemじゃなくて ToolStripSeparatorを使う 後は自分で調べてみてちょうだい うぃ~ ヒック

ohigechan
質問者

お礼

ご提示の例を参考に、実装できました。 ありがとうございました。

その他の回答 (1)

回答No.1

VB6での >Form2.PopupMenu Form1.mnuPop は、Form全体を呼び出すんじゃなくて、Formに設定されたメニューのみを コンテキストメニューとして表示するだけです。 そもそもVB2005とは概念自体が違います。 「Formを表示」という概念から離れましょう。 独り言: 「右クリックは無効です」だけならMessageBoxでもいいような気もするけど… そういう訳にも行かないんでしょうねぇ…

ohigechan
質問者

補足

ご回答ありがとうございます。 なにぶん素人で。。 別フォームに設定されたメニューのみを表示、ですね。 これのVB2005での実現方法をご教授いただけると幸いです。 概念が違うとのことですが、そもそも実現できないケースなのでしょうか? すみませんがご教授よろしくお願いいたします。

関連するQ&A