سؤال

هل من الممكن تغيير حجم الخط المستخدم في قائمة السياق باستخدام .NET Framework 3.5 وC# لتطبيق سطح المكتب؟يبدو أنه إعداد على مستوى النظام، ولكني أرغب في تغييره داخل تطبيقي فقط.

هل كانت مفيدة؟

المحلول

إذا كنت تقوم بتحديد قائمة السياق الخاصة بك عبر ملف ContextMenuStrip في نماذج Windows، استخدم الخط ملكية.

إذا كنت تقوم بتحديد قائمة السياق الخاصة بك عبر ملف ContextMenu في WPF، استخدم مختلف فونتكسكس خصائص مثل خط العائلة و حجم الخط.

لا يمكنك تغيير قوائم السياق الافتراضية التي تأتي مع عناصر التحكم؛يتم تحديدها من خلال إعدادات النظام.لذلك إذا كنت تريد قائمة "نسخ / قص / لصق / إلخ" بحجم خط مخصص ل WinForms TextBox, ، سيتعين عليك إنشاء ملف ContextMenuStrip بحجم الخط المناسب وقم بتعيينه إلى TextBoxTextMenuStrip ملكية.

نصائح أخرى

يمكنك تغيير حجم الخط System.Windows.Forms.ContextMenuStrip.

إذا كنت بحاجة إلى تغيير حجم الخط لقائمة سياق القص/النسخ/اللصق الافتراضية في مربعات النص، فأعتقد أنك بحاجة إلى تعيين خاصية قائمة السياق إلى قائمة مخصصة تحل محل القائمة الافتراضية.

في دبليو بي إف:

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

في وينفورمز:

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

لقد ذكرت .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>

بالطبع، من الأفضل دائمًا السماح لإعدادات النظام بتحديد حجم الخط.ربما قام بعض الأشخاص بتغييره ليناسب حالتهم البدنية بشكل أفضل (مثل ضعف البصر) أو الأجهزة (شاشة كبيرة/صغيرة).أيًا كان ما تفرضه في التعليمات البرمجية الخاصة بك، فسيكون خيارًا خاطئًا لبعض الأشخاص، بينما لا تمنحهم أي طريقة لتغييره.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top