سؤال

لدي مشكلة مع .NET richtextbox. مراقبة. يبدو أنه لا يدعم تنسيق خلية الجدول، وهو أمر مضحك لأن معظم الوقت أقوم بإنشاء جداول أريد أن تكون محتويات الخلية محاذاة (أرقام أو عملة).

إذا حاولت فتح مستند WordPad في Richtextbox، فإنه يتجاهل (وفي الواقع يزيل) الأوامر لمحاذاة الخلايا. حاولت عدة حلول ولكن لم تنجح.

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

  2. أم أن هناك مصدر مفتوح بديل ل .NET محرر النصوص الغنية التي يمكنك أن توصي بها؟ أحتاج إلى عنصر تحكم مستخدم يمكنني تضمينه في نموذج Windows الخاص بي والوصول إلى المحتويات برمجيا (إنشاء محتوى أو إلحاق شيء). لقد بحثت على الويب لبعض الوقت ولكن العثور على عناصر تحكم على شبكة الإنترنت فقط (AJAX / JavaScript).

  3. يوجد أيضا محرري HTML WYSIWYG التي يمكنني استخدامها، لكنها كلها في الأساس متصفح IE غير مضمن وتحريرها باستخدام MSHTML، وتشعر بغريب بعض الشيء أن يكون ذلك في تطبيق WinForms (ربما أكون مخطئا). وفي هذه الحالة، سنحتاج إلى بعض الوقت الإضافي لتنفيذ مولد محتوى ل HTML - على الرغم من أنه من الأسهل بكثير قراءة وتوليد من RTF IMHO.

  4. ماذا تجد اللاعبين أفضل لهذا الغرض؟

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

المحلول

إذا كنت لا تزال تنخفض مسار .NET WinForms ثم يرثا من RichTextBox وإضافة التعليمات البرمجية التالية، فسوف يقوم بتحويل RichTextBox إلى شيء "قابل للاستخدام":

[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
static extern IntPtr LoadLibrary(string lpFileName);

protected override CreateParams CreateParams
{
    get
    {
       CreateParams cparams = base.CreateParams; 
       if (LoadLibrary("msftedit.dll") != IntPtr.Zero)
       {
          cparams.ClassName = "RICHEDIT50W";
       }
       return cparams;
     }
}

مصادر من هنا.

أتمنى لك نهارا سعيد:)

نصائح أخرى

3. هناك أيضا محرري HTML WYSIWYG التي يمكنني استخدامها، لكنها كلها في الأساس متصفح IE غير مضمن وتحريرها باستخدام MSHTML، ويشعر غريبا بعض الشيء أن يكون ذلك في تطبيق WinForms (ربما أكون مخطئا).

لقد كتبت محرر HTML WYSIWYG: عنصر تحكم HTML ModelText ل .NET. وبعد إنه رمز مدار نقي، مع عدم وجود اعتماد على المتصفح؛ تصدير واجهات برمجة التطبيقات .NET، والتي تتيح لك الوصول إلى محتوياتها برمجيا.

سيقوم الإصدار التالي الذي سيتم إصداره (في غضون أيام قليلة من الآن) إلى دعم محاذاة الخلايا (عن طريق دعم خاصية "محاذاة النص CSS").

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