デスクトップアプリケーション用の.NETFramework3.5およびC#を使用して、ContextMenuで使用されるフォントサイズを変更することは可能ですか?システム全体の設定のようですが、アプリケーション内でのみ変更したいと思います。
4 に答える
ContextMenuStrip
Windows フォームで独自のコンテキスト メニューを定義する場合は、 Fontプロパティを使用します。
ContextMenu
WPF で独自のコンテキスト メニューを定義する場合は、 FontFamilyやFontSizeなどのさまざまなFontxxxプロパティを使用します。
コントロールに付属するデフォルトのコンテキスト メニューは変更できません。これらはシステム設定によって決定されます。したがって、「コピー/切り取り/貼り付けなど」が必要な場合。メニューを WinForms のカスタム フォント サイズでTextBox
作成するには、適切なフォント サイズで を作成し、それをのContextMenuStripプロパティContextMenuStrip
に割り当てる必要があります。TextBox
WPFの場合:
<Window.ContextMenu FontSize="36">
<!-- ... -->
</Window.ContextMenu
WinFormsの場合:
contextMenuStrip1.Font = new System.Drawing.Font("Segoe UI", 24F);
System.Windows.Forms.ContextMenuStripのフォントサイズを変更できます。
テキストボックスのデフォルトの切り取り/コピー/貼り付けコンテキストメニューのフォントサイズを変更する必要がある場合は、ContextMenuプロパティをデフォルトメニューを置き換えるカスタムメニューに設定する必要があると思います。
あなたは.NET 3.5に言及しています - あなたはWPFで書いていますか? その場合、TextBlock.FontSize 添付プロパティのフォント サイズを指定できます。
<Whatever.ContextMenu TextBlock.FontSize="12">
<MenuItem ... /> <!-- Will get the font size from parent -->
</Whatever.ContextMenu>
または、すべてのメニュー項目に影響するスタイルで指定できます
<Style TargetType="MenuItem">
<Setter Property="TextBlock.FontSize" Value="12" />
</Style>
もちろん、システム設定でフォント サイズを決定できるようにすることをお勧めします。一部の人々は、自分の体調 (視力の低下など) またはハードウェア (大画面/小画面) に合わせて変更した可能性があります。コードに何を強制しても、一部の人にとっては間違った選択になりますが、それを変更する方法はありません。