سؤال

عند استخدامها MessageBox.Show() لديك مجموعة مختارة من messageBoxButtons. للإختيار من. الأزرار المتاحة هي العادة، وتعطيك خيارات مثل "نعم لا"، "OK إلغاء"، إلخ.

عندما أستخدم، على سبيل المثال، نص الرسالة النرويجية لا يزال المستخدم يحصل على "نعم لا".

هل هناك طريقة لتغيير نص الأزرار (في C #) بحيث تكون اللغة صحيحة؟ هل يمكنني تجاوز النص، أو تعيين الإعدادات المحلية الحالية بطريقة ما حتى أتمكن من الحصول على "Ja Nei" بدلا من "نعم لا"؟

لا أريد الاعتماد على تثبيت حزمة لغة .NET في عميلي.

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

المحلول

لا يوجد دعم أصلي لهذا .NET (بقدر ما أعرف، على أي حال؛ يرجى تصحيح لي إذا كنت مخطئا، أي شخص). لقد صادفت هذه المقالة Preproject هذه، والتي يبدو أن تفعل الخدعة مع بعض الرسائل ربط و P / Invoke:http://www.codeproject.com/kb/miscctrl/localizer_messageBox.aspx.

نصائح أخرى

عادة أزرار MessageBox (مثل جميع النوافذ) تكريم لغة UI التي تم تعيينها حاليا لنظام التشغيل Windows. لذلك إذا كنت قد حصلت على تثبيت إنجليزي ولا يمكنك تغيير اللغات (إصدارات MUI أو Ultimate for Vista / 7) أنت خارج الحظ.

يمكنك تطبيق صندوق Message Thork ولكنني أتوسل إليك ألا تفعل ذلك. أشياء بسيطة مثل مفاتيح الاختصار المشتركة للأزرار، وجود القدرة على استخدام CTRL + INS لنسخ المحتويات، وما إلى ذلك هي تلك التي أفتقدها أكثر عندما يبدأ الناس بإعادة اختراع عجلات مربعة.

لا أعتقد أنه من الممكن، ولكن الرجوع إلى مقالة MSDN MessageBox.Show طريقة. وبعد قد تحصل على بعض الأفكار. يمكنك تغيير النص في مربع الرسالة. ماذا عن إنشاء صندوق الرسائل الخاص بك (نموذج جديد) وعرضها؟

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