2008-09-18 141 views
4

是否可以使用.NET Framework 3.5和C#爲桌面應用程序更改ContextMenu中使用的字體大小?這似乎是一個系統範圍的設置,但我想只在我的應用程序中更改它。更改C中的ContextMenu字體大小#

+0

您正在使用的WinForms或WPF? – MagicKat 2008-09-18 20:28:28

+0

我正在使用WinForms。 – dailymorn 2008-09-18 20:41:30

回答

6

如果通過Windows窗體中的ContextMenuStrip定義自己的上下文菜單,請使用字體屬性。

如果您通過ContextMenu在WPF定義自己的上下文菜單中,使用的各種Fontxxx性能,如的FontFamily字號

您不能更改控件附帶的默認上下文菜單;這些由系統設置決定。所以如果你想要「複製/剪切/粘貼/等」。自定義字體大小爲WinForms TextBox的菜單,則必須創建具有適當字體大小的ContextMenuStrip並將其分配給TextBoxContextMenuStrip屬性。

1

您可以更改System.Windows.Forms.ContextMenuStrip的字體大小。

如果您需要更改文本框上默認的剪切/複製/粘貼上下文菜單的字體大小,我想您需要將ContextMenu屬性設置爲替換默認菜單的自定義菜單。

0

你提到的.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> 

的風格指定它,它總是最好讓系統設置確定字體大小。有些人可能已經改變了它,以更好地適應他們的身體狀況(如視力不佳)或硬件(大/小屏幕)。無論你在你的代碼中強制執行什麼,對某些人來說都是錯誤的選擇,而你卻沒有辦法改變它。

1

在WPF:

<Window.ContextMenu FontSize="36"> 
    <!-- ... --> 
</Window.ContextMenu 

在的WinForms:

contextMenuStrip1.Font = new System.Drawing.Font("Segoe UI", 24F);