問題タブ [toolstripmenu]
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.
c# - 特定のインデックスで ToolStripMenuItem を ContextMenuStrip に追加する
特定のインデックスで ToolStripMenuItems を ContextMenuStrip に追加することは可能ですか? アイテムのリストがあり、それらを ContextMenuStrip に追加したいのですが、特定のインデックスで ContextMenu にアイテムを追加できるかどうかを知りたいです。
これは私のリストです:
メニューに次のように表示されるように、それらを ContextMenu に追加したいと思います。
それは可能ですか?
すべてのヘルプは非常に高く評価されています。
c# - ToolStripMenuItem より大きな垂直方向のパディング、またはより大きな ToolStripMenuItem 内のテキストを垂直方向にセンタリングする
ContextMenuStripのToolStripMenuItemsに、より大きな垂直方向のパディングを設定しようとしています。ただし、Padding.Topプロパティを変更すると、上部ではなく下部にパディングが追加されます。
ToolStripMenuItemのHeightを大きく設定しようとしましたが、動作しますが、 TextAlignプロパティがMiddleCenterであっても、テキストは常に上に配置されます。中央に垂直に配置する必要があります。
プロパティごとに異なる設定を試しましたが、何も機能しません。アイデアは、 ToolStripMenuItemのテキストの周りに上部と下部の両方のスペースを確保できないということです。
C#、Windows フォーム、Net 2.0、Visual Studio 2010 Express、Windows 7 を使用しています。
c# - ToolStripMenuItem がいくつかの場所に追加されましたか?
ユーザーが選択できるようにする必要があるエンティティの大きなリストがあります。ウィンドウに ContextMenuStrip があり、エンティティのカテゴリごとにいくつかの MenuItem があります。
図書館の例では、「スタッフ」、「借り物」、「利用者」などを考えてみてください...
「職員」には、「雇用形態別」→{「フルタイム」、「パートタイム」}または「性別別」→{「男性」、「女性」}などが含まれる場合があります。
"Borrowables" には "By Type" -> { "Books", "Magazines", "DVDs" } または "By Genre" -> { "Fiction" -> { "Sci-Fi", "Romance", "Crime" を含めることができます" }, "ノンフィクション" { "科学", "音楽", "歴史" } } など.
基本的に、1 つのエンティティが同時に複数の場所に存在する可能性があります。スタッフは正社員で、女性でも構いません。借りられるものは本かもしれませんし、恋愛小説かもしれません。等
List<ToolStripMenuItem>
イベントハンドラー、タグ、すべてと一緒にプログラムで作成しました。次に、プログラムでそれぞれを調べ、さまざまなメニューやサブメニューに追加して、さまざまな場所からアクセスできるようにしました。アイデアは、ToolStripMenuItem ごとにメモリ内に 1 つのオブジェクトのみが必要であり、それがチェックされている/チェックされていない場合は、それらすべてに反映される必要があるということです。
これは洗練されたソリューションのように思えますが、それが機能するのを本当に楽しみにしていましたが、ToolStripMenuItem を 1 つの ToolStripMenuItemDropDownItems に追加すると、追加された他の場所から削除されるようです。
これは私を悲しくさせます。それらがすべて同じオブジェクトである場合、チェックされたときに一致するすべてのアイテムを調べてチェックするために多くのコードを書く必要はありません。
最小限のコードでこれを達成できる他の方法はありますか?
これは私が持っているものの小さな例です:
c# - 実行時にストリップメニューに追加する
OKファイルメニューの動的フォームを作成したい文字列(実際にはファイル名)のリストがあります。
したがって、ファイル名のリスト、ディレクトリ文字列の最初のコードストリップ、およびファイルサフィックスを取得します(ボーナスの質問として、2つの削除行を1つにまとめるにはどうすればよいですか?)
したがって、リストを循環して、毎回「templatesToolStripMenuItem」にアイテムを追加するだけです。
ただし、ユーザーがアイテムをクリックすると、file_varibleがpopulate.openconfigメソッドに送信されるイベントを追加する必要があります。
アイテムの追加は正常に機能しますが、イベント処理を追加するにはどうすればよいですか?
元の配列で完全なファイル名を検索し、それを実行するデフォルトのメソッドに送信できると思います。しかし、メニューバーに項目を追加するので、確かにこれを行うことができます。
ありがとうございました
アーロン
そうです、最後に私は追加しました
そして、私がそれをもう少し片付けることができる方法を見ました:)
助けてくれる人たちに乾杯、猫の皮を剥ぐ方法がいくつあるか大好きです:)
.net - 特定の ToolStripMenu 項目を特定のユーザーに制限する
VB.NET 2010 の使用:
仕事用アプリケーション用の単純な「ランチャー」アプリケーションを作成しています。必要なメニューを含む ToolStripMenu を既に作成しています。それらは次のように配置されます。
ファイル | 部門 1 | 部門 2 | 部門 3 | 管理者 | ヘルプ
私がする必要があるのは、Environment.UserName 変数に基づいて、管理メニューへのアクセスを制限することです。理想的には、レンダリングさえしないようにしたいのですが、唯一のオプションがグレー表示にすることである場合は、それで問題ありません。
c# - 動的に生成されたツール ストリップ メニュー項目の処理方法
データベース テーブルから値を取得して FormLoad で項目が生成される toolstripmenu ドロップダウン項目のコードをどのように記述できますか?
プログラムを実行する前に、存在しないこのアイテムの OnClick メソッドを作成するにはどうすればよいですか?
c# - 実行時にToolStripにアイテムを追加する
こんにちは私は、実行時にWinFormsアプリ中にサブアイテムを追加したい「お気に入り」メニューを備えたToolStripMenuを持っています。右クリックして[お気に入りに追加]オプションのあるコンテキストメニューを表示するdatagridviewがあります。そのイベントが発生したら、datagriviewから選択した行のテキスト(これはすでに実行方法を知っています)を使用して、このお気に入りメニューにアイテムを追加したいと思います。newlyCreatedToolStripMenuItem_Click
トリッキーな部分は、イベントのコードを作成する必要があることです。お気に入りリストを保存する方法は後で決定します。
だから私たちは行くつもりです:
datagridview
「ジョン・スミス」の行を右クリック
から「お気に入りに追加」を選択しますContextMenu
お気に入りToolStripMenu
には、「ジョン・スミス」という新しいアイテムが追加されています
「 JohnSmith」をクリックするとToopStripMenuItem
、アクションが発生します(daragridview行でその行を選択するなど)。
良いスタートのアイデアはありますか?
c# - コンボボックスのテキスト変更失敗
ToolStripMenu
item clickで次のように呼び出しています。
ただし、変更されるはずの 2 行目は、ComboBox
. 助言がありますか?
c# - ToolStripMenu 項目を無効にする
メインの toolStripMenu 項目は無効にできますが、サブ メニューの項目は無効にできません。たとえば、「オプション」というメニュー項目があります。以下のコードを実行すると、「オプション」は無効になりますが、「オプション」の下のメニュー項目はどれも無効になりません。このコードは、サブ メニュー項目を含む menuStrip1 のすべてのメニュー項目を無効にするべきではありませんか? 助けてください。