تخصيص DataGridView العمود لا تقبل دخلت عشري المفرق تحت ويندوز فيستا

StackOverflow https://stackoverflow.com/questions/157144

سؤال

مشروع بنيت مخصص DataGridView العمود الذي يحتوي على NumericUpDown الضوابط.يتم تنفيذه على غرار اقتراح من مايكروسوفت

العمود يعمل بشكل جيد تحت نظام التشغيل Windows XP.فإنه يقبل إدخال الأرقام و فاصل العلامة العشرية.تحت ويندوز فيستا علي الغريب المشكلة أن السيطرة لا يقبل إلا فاصل العلامة العشرية التي تم إدخالها بواسطة لوحة المفاتيح الرقمية ولكن ليس من المفاتيح الرئيسية كتلة.

يجب أن أضيف أن أعمل مع الألمانية (سويسرا) الثقافة إعدادات تحت ويندوز فيستا الألمانية (سويسرا) تخطيط لوحة المفاتيح مفعلة.فاصل العلامة العشرية في سويسرا .

شخص ما لديه فكرة عن السبب و ربما الحل ؟ شكرا جزيلا لك!

مايكل

تحرير: لقد وجدت الحل لمشكلتي.

  1. لتوضيح الوضع أكثر قليلا.على NumericUpDown التحكم في استخدام الأدوات IDataGridViewEditingControl و يرث من NumericUpDown.بسبب IDataGridViewEditingControl تطبيق طريقة EditingControlWantsInputKey.وفي تنفيذ هذه الطريقة وجدت خطأ أو ما حدث من خطأ.

  2. في طريقة أنا فتشت دخلت مفاتيح قررت إذا كان عنصر التحكم إلى التعامل معها.ولكن فاصل العلامة العشرية لا يتوقع فقط مفاتيح.عشري.في بلدي خاصة (خطأ) القضية الرئيسية لا يمكن أن تكون مطابقة.ما كان في عداد المفقودين للبحث عن مفاتيح.OemPeriod أيضا.وكان ذلك الإصلاح.

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

المحلول

يمكنك يرجى لصق OnKeyDown و/أو OnKeyPress الرمز ؟ على الأقل مفتاح ذات الصلة-تصفية رمز.وسوف تجعل من الأسهل بقعة من أي مشاكل.

راجع للشغل, أنا عادة استخدام اللغة الإنجليزية البريطانية والبرتغالية البرازيلية لوحات المفاتيح ، حتى لقد كان نصيبي من هذه القضايا.هذا النوع من قوات يمكنك أن تصبح خبير تعريب :)

تحرير:آسف, فقط إعادة قراءة وفهم كنت تستخدم الأسهم NumericUpDown التحكم.يمكن أن تشير لي إلى العمود رمز لذلك سأحاول هنا ؟ ربما لغة هو عدم الحصول على مجموعة التحكم وعليك أن تفعل ذلك يدويا في بعض نقطة.

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