سؤال

لدي نموذج مع TextBox فيه.في كل مرة يتغير النص أستخدم ملف TextChanged حدث لإنشاء ملف PDF وتحميله إلى ملف AxAcroPDF-الكائن في نفس النموذج.هذا يعمل بشكل جيد، ولكن بعد ذلك TextBox يفقد التركيز ولسبب ما textBox.Focus() بعد تحميل الملف لا يعمل

هل لدى أي شخص أفكار حول كيفية الترتيب بحيث يمكنك الاستمرار في الكتابة أثناء تحديث ملف PDF؟

يحرر:

كانت لدي فكرة أخرى، فقد قمت بعمل موضوع منفصل حيث أقوم بتحديث ملف PDF وفي ملف TextChanged-حدث قمت بتعيين العلم فقط.لكن الآن أتلقى خطأً غريبًا

Unable to cast COM object of type 'System.__ComObject' to interface type 'AcroPDFLib.IAcroAXDocShim'.
هل كانت مفيدة؟

المحلول 2

أنا أشعر بالخجل الشديد من نفسي، لقد وجدت حيلة قذرة للغاية، لكنها نجحت...فعلت ما يلي:

عندما أكتب نصًا في MessengerBox، أقوم بإعادة كتابة ملف PDF الخاص بي في TextChange-Event.بنفس الطريقة، أقوم بتخزين عنصر التحكم الذي يحتوي على التركيز (عند استدعاء LoadFile على كائن PDF، لا يزال عنصر التحكم هذا يفقد التركيز).والآن يأتي العمل القذر:لقد قمت بتنفيذ مؤشر ترابط يقوم باستمرار بتعيين التركيز على عنصر التحكم المخزن في المتغير.في حدث Leave-Event الخاص بـ TextBox، قمت بإعادة تعيين المتغير حتى لا يتم حظر عناصر التحكم الأخرى.

أعلم أنه اختراق قذر حقًا، لكن الآن يمكنني على الفور "تحرير" ملف pdf باستخدام النموذج الخاص بي، وهو أمر رائع ;)

شكرا لجميع التعليمات!

نصائح أخرى

جرب هذه:

textBox.Select();
textBox.Focus();

لم أتمكن من تشغيل .Focus() و .Select() لذا استخدمت Jquery وهو يعمل بشكل مثالي.

$(document).ready(function () {
    setTimeout(function () {
        $(".contentWrapper input")[0].focus();
    }, 100);
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top