1

特定のフォルダ内のすべてのファイルを含むMenuItemがあります。

メニュー項目は、(を使用して)独自のポップアップイベントに入力されますSystem.IO.Directory.GetFilesが、画面の右下隅に近すぎる場合(またはそう思われる場合)、入力中に画面の上方にジャンプします。

ポップアップイベントが発生する前にデータを入力すると、メニュー項目が通常の位置で開きます。

フォルダの内容を最新に保つために、ポップアップイベントにデータを入力する必要があります。

Popupイベントにメニュー項目が入力されている場合、メニュー項目が移動するのはなぜですか。また、どうすれば回避できますか?

4

2 に答える 2

1

これについて少し考えた後、ポップアップ時にメニューを更新することが最善の方法かどうかはわかりません。起動時に一度メニューを作成し、FileSystemWatcher(または別の場所にある場合はいくつか)を使用して変更を通知し、必要に応じてメニューを更新します。

于 2009-08-16T09:07:17.277 に答える
0

DataGridViewでも同じ問題が発生しました。

ポップアップメニューを使用して、グリッドを埋めるときにユーザーがいくつかの最も一般的な入力から選択できるようにしました。また、クリックしたセルの内容に応じて、オプションは少し異なります。このコンテキストメニューがジャンプして点滅しました。私はいくつかのアプローチを試しましたが、最終的にやったのは

1. DataGridViewのContextMenuプロパティをリセットします(つまり、このプロパティをゼロにしただけです)

2.コンテキストメニューのOpeningイベントではなく、DataGridViewのCellMouseDownイベントにメニューを入力します

3.データを入力した後(まだCellMouseDownにあります)、このメニューをこの特定のセルに割り当てるだけです。

myDataGridView[column, row].ContextMenuStrip = myPopUpMenu;

以上です。望ましくない視覚現象なしで、うまく機能しました;)。

于 2009-09-13T21:55:48.227 に答える