Question

J'ai un problème avec .Net RichTextBox de contrôle.Il semble qu'il ne prend pas en charge le tableau mise en forme des cellules, ce qui est assez drôle parce que la plupart du temps, je créer des tables je veux que le contenu de la cellule pour être aligné à droite (les nombres, les devises).

Si j'essaie d'ouvrir un document WordPad dans la RichTextBox, il ignore (et en fait supprime les commandes pour l'alignement de la cellule.J'ai essayé plusieurs solutions de contournement, mais n'a pas réussi.

  1. Quelqu'un peut-il penser à une idée pour résoudre ce problème?(sans utiliser les polices à largeur fixe et des espaces), Ce serait la meilleure solution, car d'autres le code fonctionne bien déjà, donc si la seule chose nécessaire est un sale hack, ce serait formidable.

  2. Ou est-il une alternative open source pour .Net Éditeur de Texte enrichi, vous pouvez recommander?J'ai besoin d'un contrôle utilisateur que je peux intégrer dans mon formulaire Windows et d'accès aux contenus par programmation (création de contenu, ou d'ajouter quelque chose).J'ai cherché sur le web pour un certain temps mais n'a trouvé qu'web (Ajax/Javascript) des contrôles.

  3. Il y a aussi des éditeurs HTML WYSIWYG qui je pourrais utiliser, mais elles sont essentiellement un navigateur IE intégré et modifiés à l'aide de MSHTML, et il se sent un peu étrange d'avoir que dans une application Winforms (peut-être que je me trompe).Et dans ce cas, nous aurons besoin de plus de temps pour mettre en œuvre un générateur de contenu au format HTML mais il est beaucoup plus facile à lire et à générer de la RTF à mon humble avis.

  4. Que faites-vous pour trouver le meilleur pour ce but?

Était-ce utile?

La solution

Si vous allez encore sur le chemin de winforms .net puis hériter de RichTextBox et ajoutez le code suivant, il transformera la RichTextBox en quelque chose « utilisable »:

[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;
     }
}

.

Passez une bonne journée:)

Autres conseils

3.Il y a aussi des éditeurs HTML WYSIWYG qui je pourrais utiliser, mais elles sont essentiellement un navigateur IE intégré et modifiés à l'aide de MSHTML, et il se sent un peu étrange d'avoir que dans une application Winforms (peut-être que je me trompe).

J'ai écrit un HTML WYSIWYG de l'éditeur:l' ModelText Contrôle HTML pour .NET.C'est du pur code managé, avec aucune dépendance sur un navigateur;il n'en exporte .NET Api, qui vous permettent d'accéder à son contenu de la programmation.

La prochaine version sera publié dans quelques jours à partir de maintenant) favorisera l'alignement de la cellule (en soutenant le CSS "text-align" propriété).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top