خطوط دولية في نماذج Windows و عناصر التحكم

في التطبيقات الدولية الأسلوب المستحسن من تحديد خطوط هو لاستخدام نظام الاستعاضة خط كلما أمكن. ينتمي الخطوط البديلة يعني أن يحدد النظام ما بكتابة برنامج نصي الحرف إلى.

استخدام خط بنظام الاستعاضة

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

حدث هو استثناء للقاعدة لعدم تعيين خط، الذي هو لتغيير النمط خط. وقد يكون هاما لتطبيق الذي قيام مستخدم بالنقر فوق زر لجعل النص في صندوق نص يظهر بالأسود العريض. للقيام بذلك، سيتم كتابة دالة لتغيير النمط خط لمربع نص إلى غامق، استناداً إلى خط الذي تراه للنموذج هو. هو هامة للاتصال برقم هو دالة في مكانين: في زر's Clickمعالج الأحداث وفي FontChangedمعالج حدث. إذا كانت دالة هو سابقا فقط في Clickمعالج حدث وجزء آخر من تعليمات برمجية يتغير عائلة الخط للنموذج بأكمله، لن يتم تغيير صندوق نص مع باقي النموذج.

' Visual Basic
Private Sub MakeBold()
   ' Change the TextBox to a bold version of the form font
   TextBox1.Font = New Font(Me.Font, FontStyle.Bold)
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
   ' Clicking this button makes the TextBox bold
   MakeBold()
End Sub

Private Sub Form1_FontChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.FontChanged
   ' If the TextBox is already bold and the form's font changes,
   ' change the TextBox to a bold version of the new form font
   If (TextBox1.Font.Style = FontStyle.Bold) Then
      MakeBold()
   End If
End Sub

// C#‎
private void button1_Click(object sender, System.EventArgs e)
{
   // Clicking this button makes the TextBox bold
   MakeBold();
}

private void MakeBold() 
{
   // Change the TextBox to a bold version of the form's font
   textBox1.Font = new Font(this.Font, FontStyle.Bold);
}

private void Form1_FontChanged(object sender, System.EventArgs e)
{
   // If the TextBox is already bold and the form's font changes,
   // change the TextBox to a bold version of the new form font
   if (textBox1.Font.Style == FontStyle.Bold) 
   {
      MakeBold();
   }
}

ومع ذلك، عند ترجمة تطبيق الخاص بك، خط الغامق قد تعرض شكل سيئ لبعض اللغات. إذا كان ترتيب هو هو مهما، الذي تريده localizers أن خيار تبديل الخط من خط غامق إلى نص عادي. وبما أن localizers عادة لا المطورين وليس لديهم حق الوصول إلى تعليمات برمجية المصدر، فقط لملفات الموارد، بهذا خيار يجب أن يكون التعيين في ملفات الموارد. للقيام بذلك، سيتم تعيين Boldخاصية إلى true. وينتج عن هذا إعداد خط التي تتم كتابتها إلى ملفات الموارد، بحيث localizers يمكن تحريره. قمت بكتابة تعليمات برمجية ثم بعد InitializeComponent الأسلوب لإعادة تعيين الخط يستند الخط الذي تراه للنموذج هو، ولكن باستخدام النمط الخط المحدد في ملف مورد.

' Visual Basic
TextBox1.Font = New System.Drawing.Font(Me.Font, TextBox1.Font.Style)

// C#‎
textBox1.Font = new System.Drawing.Font(this.Font, textBox1.Font.Style);

راجع أيضًا:

موارد أخرى

Windows Forms globalizing

استخدام خطوط و نص