الحل
يتضمن الحل الحالي تجاوز الدالة "WNDPROC" لاعتراض رسائل إعادة الشطب وقمعها. ومع ذلك ، فإن هذا النهج ليس عمليًا بالنسبة للوظائف الخارجية التي تعمل مع RichTextBox المقدمة. تقوم هذه الطرق بإنشاء رسالة WM_SetRedRaw لقمع إعادة الطلاء. باستخدام system.windows.forms ؛ باستخدام System.Runtime.InteropServices ؛ class myrichtextbox: RichTextBox { public void beginupdate () { sendMessage (this.handle ، wm_setredraw ، (intptr) 0 ، intptr.zero) ؛ } public void endupdate () { sendMessage (this.handle ، wm_setredraw ، (intptr) 1 ، intptr.zero) ؛ this.invalidate () ؛ } [Dllimport ("user32.dll")] intptr extern extern extern extern extatic intptr sendMessage (intptr hwnd ، int msg ، intptr wp ، intptr lp) ؛ const private int wm_setredraw = 0x0b ؛ }
الاستخدام
يمكنك الآن استخدام هذه الأساليب لتعطيل وتمكين إعادة الطلاء داخل وظيفة تمييز بناء الجملة. تعمل مباشرة قبل وبعد تحديث النص. // تعطيل إعادة الطلاء // تحديث النص sendMessage (this.handle ، wm_setredraw ، (intptr) 1 ، intptr.zero) ؛ // تمكين إعادة الطلاء this.invalidate () ؛
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3