(解決済)xpa4.6.1で、.netで作成したコンテキストメニューの項目をクリックしたイベントが取得できない
初めまして。
xpa3.1a PT1で、.NETを使用してコンテキストメニューを表示させて、メニューの項目をクリックした時にどの項目がクリックされたか.NETイベントで判定しておりましたが、
同じプログラムをxpa4.6.1 PT3で実行すると、メニューの項目をクリックしたイベントの取得が出来てないようです。
xpa4.8.1 PT1で確認しても同様にイベントの取得が出来てないようです。
次のように変数を設定して、コンテキストメニューを作成しております。
変数名 型 オブジェクトタイプ
----------------------------------------------------------------------
メニュー項目(昇順) .NET System.Windows.Forms.ToolStripMenuItem
メニュー項目(降順) .NET System.Windows.Forms.ToolStripMenuItem
コンテキストメニュー .NET System.Windows.Forms.ContextMenuStrip
バージョンアップによって、ToolStripMenuItemのイベントは、取得されないように仕様変更されたのでしょうか?
ご存知の方がいらっしゃいましたら、情報お願いいたします。
-
nnさん、
コンポーネントリポジトリの設定は間違いないですか?
-
tanda様
返信ありがとうございます。
コンポーネントリポジトリの設定は、3.1の設定を参照して、4.6.1の設定を行っておりますので、
間違っていないと思います。
引き続き調査した所、メニューの項目をクリックしたイベントと同じタスクにコンテキストメニューが
閉じた時にこのタスクを終了するため、ContextMenuStrip.Closedの.NETイベントを定義して、
終了イベントを定義しておりました。
この.NETイベントを無効にした所、ToolStripMenuItemのイベントが取得されるようになりました。3.1でのイベントの定義に誤りがあったのかもしれないですね。
-
nnさん、
Magic側にイベントが用意されている場合は、なるべくそちらを優先したほうが不具合の発生が少なくて済むと思いますよ。.Netを知らなくてもイベントドリブンのプログラムが書けてしまうというところが、Magicのいいところだと思いますよ。
-
tanda様
アドバイスありがとうございます。
確かに原因を調査するため、バージョンアップの修正履歴や過去のフォーラムを確認したり、プログラムの解析と時間が掛かってしまったので、今後はMagic側のイベントにて開発するように心掛けます。
サインインしてコメントを残してください。
コメント
4件のコメント