問題タブ [contextmenustrip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2079 参照

c# - メニューに常にニーモニックを強制的に表示する方法はありますか?

私は自分のプログラムで ContextMenuStrip を使用していますが、Alt を押さない限り、そのショートカット キー (ニーモニック、& の前にある文字の下に下線として表示する必要があるキー) が表示されませんが、Alt を押すと、表示された ContextMenuStrip が非表示になりますフォームのメイン メニューがフォーカスされるためです。したがって、コンテキスト メニューでは、ニーモニックは表示されません。

プログラムでこの動作を強制的にオンにする方法はありますか? システム設定のどこかで変更できることを他の場所で読みましたが、私のソフトウェアを使用している人々が常にニーモニックを確認できるようにする必要があります。プログラムが正しく動作するためにシステムをグローバルに変更する必要はありません!

コントロールによって表される値をすばやく編集するためのポップアップであるため、ユーザーが Enter キーを押したときに KeyDown イベントハンドラーのコードを介してこのメ​​ニューを表示する必要があります。ユーザーがコントロールをクリックすると、その内容をすばやく変更できます。C# で ctrl+space を押すとポップアップが表示され、この正確な場所に挿入できる可能性のあるコード スニペットが示唆されていると考えてください。したがって、コントロールの「コンテキスト メニュー」プロパティとして使用するか、キーボードの「コンテキスト メニューを表示」ボタンを使用しても適用されません。

ありがとう!

0 投票する
3 に答える
1521 参照

c# - ContextMenuStrip で ToolStripItem の選択を解除する

簡単な質問:

.Select(コンテキスト メニュー ストリップを開くときに事前に選択されたオプションが必要な場合のように)できますが、 falseToolStripItemに設定する方法や選択を解除する方法が見つからないようです!.Selected

出来ますか?

0 投票する
3 に答える
1219 参照

c# - ToolStripMenuItems を動的に追加する方法

クエリから最後の項目のみを追加します。クエリからすべての項目を追加する方法

0 投票する
1 に答える
265 参照

c# - ContextMenuStripでのContextMenuコンストラクターの複製

私の調査と理解から、ContextMenuStripはContextMenuの後継となるはずであり、コードを最新の状態に保つという精神で、ContextMenuのそのようなインスタンスの1つを置き換えることに着手しました。

以前は、MenuItemにクリックハンドラーを備えたアイテムのサブメニューを提供するために、次のようなことをしていました。

ここに画像の説明を入力してください

単純なものが欠けているかどうかはわかりませんが、ContextMenuStripを使用して同様の機能を実現するにはどうすればよいですか?ToolStripMenuItemには、それ自体の配列を追加してサブメニューを形成できるオーバーロードされたコンストラクターはありません。次のように、ContextMenuStripから特定のアイテムインデックスを選択してアイテムを追加する方法もありません。

ToolStripItemの配列を含むサブメニューをインスタンス化できるコンストラクターがありますが、これは抽象クラスであるため、直接呼び出すことはできません。

考え?それとも、木々の間から森が見えないのでしょうか。

0 投票する
1 に答える
2081 参照

c# - C#でのNotifyIconのContextMenuStripのイベントハンドラー

のクリックイベントを作成したいContextMenuStrip。このコンテキストメニューストリップをにリンクしましたNotifyIcon

どうやってやるの?これは私が使用したコードです:

私はこれを試しました

しかし、私はそれを言ってエラーが発生しています

エラー1'System.Windows.Forms.ToolStripItemCollection.Add(string、System.Drawing.Image、System.EventHandler)'に最適なオーバーロードされたメソッドの一致には、いくつかの無効な引数があります

PS:コードは機能しています、私はイベントハンドラーを持っていToolStripItemClickedEventArgs eたはずEventArgs eです。これで、コードは正常に機能します。ご協力いただきありがとうございます :)

0 投票する
2 に答える
949 参照

c# - 既存の ContextMenuStrip を拡張するには?

ContextMenuStripアプリケーションのすべてのワークスペース コントロールに共通のものがあります。これContextMenuStripには 4 つの項目 (「前に移動」、「後ろに移動」、「コントロールを削除」) が含まれます。

今、私はそれを 1 つのコントロールに拡張したいと考えています。このコントロールには がありDataGridView、選択した を削除する追加の項目が必要ですDataGridViewRow

これは私が試したコードです:

ループの最初の項目がデバッガーforeachに追加された後、ctx.Itemsメソッド全体が終了し、最初の項目が common にありませんContextMenuStrip

どうすればそれを正しく行うことができますか?

0 投票する
2 に答える
2088 参照

c# - ContextMenuStripどうやって更新を強制しますか(サイズが間違っていますb / cアイテムの一部を非表示にします)

ContextMenuStrip に 10 個ほどの項目があります。10 個の項目のうちどれを表示するかを決定する Opening Event ハンドラがあります。アプリケーション ロジックに基づいて、Visible = false および Enabled = false に設定することで、それらの多くを非表示にすることができます。

6/10が表示されている場合です。ストリップを初めてクリックすると、領域 4 メニュー項目の高さが空白になります。右クリックして2回目に表示させると、本来あるべき場所に表示されます。したがって、ストリップは基本的に、実際には 6 アイテムのストリップであるにもかかわらず、10 アイテムのストリップに対して計算された位置を持っています。

ファーストクリック こんな感じ 2回目のクリックは問題ないようです

強制的に再計算するにはどうすればよいですか?

ここに私が試したことのいくつかがあります:

0 投票する
1 に答える
3576 参照

c# - ネストされた ToolStripMenuItem から取得する場合の ContextMenuStrip.Owner プロパティ null

私はContextMenuStrip2つのsでセットアップしていますToolStripItem。2 番目ToolStripItemには、ネストされた が 2 つ追加されていToolStripItemます。私はこれを次のように定義します。

ToolStripMenuItem次に、応答する3 つの のクリック イベントのイベント リスナーをセットアップします。方法は次のとおりです (3 つの方法のうち 2 つだけをリストしました)。

これが私が抱えている問題です:

私のcontextJumpTo_Click方法は完全にうまくいきます。どのDataGridViewクリックが発生したかを特定するところまでたどり着き、先に進むことができます。ただし、 はのcontextJumpTo ToolStripMenuItemネストされたメニュー項目ではありませんContextMenuStrip

しかし、私の方法はcontextJumpToHeatmapStart_Click正しく機能しません。私が決定する行に降りるとowner.SourceControlSourceControlは null であり、先に進むことができません。ToolStripMenuItemこれで、これが my の別の 1 つの下にネストされていることがわかりましContextMenuStripたが、なぜ my のSourceControlプロパティが突然 null になるのContextMenuStripでしょうか?

SourceControlネストされた for aToolStripMenuItemを取得するにはどうすればよいContextMenuStripですか?

0 投票する
3 に答える
5575 参照

c# - ToolStripMenuItem クリック ハンドラで ContextMenuStrip を開いた TreeNode を取得する方法はありますか?

異なるレベルの TreeNodes を持つ TreeView があります。
同じ ContextMenuStrip をすべての親 TreeNodes に追加しました。その ContextMenuStrip を開いて「すべて削除」を押すことで、すべての子 TreeNodes を削除できるようにしたいと考えています。

そして、ユーザーがメニューを開くためにクリックした TreeNode を取得する方法がわかりません