2009-06-11 9 views
-2

Je souhaite que mes utilisateurs puissent entrer du texte dans une zone de texte enrichi et que la sortie RTF soit enregistrée dans la base de données.Comment utiliser le contrôle RichTextBox?

Actuellement j'ai le RichTextBox lié au champ dans la base de données, mais il désactive le formatage quand il est enregistré. Comment puis-je empêcher cela? En outre, comment puis-je joindre une boîte à outils de mise en forme (comme dans Wordpad) pour que mes utilisateurs puissent modifier le formatage? Et, enfin, je ne peux pas faire un clic droit dans la boîte ou utiliser Ctrl + C, Ctrl + V ou quelque chose comme ça, pourquoi est-ce? Comment puis-je le réparer?

Répondre

2

Ok, il y a beaucoup de questions là-bas, je vais essayer de répondre à ce que je peux.

1) La liaison de données est idéale pour afficher des données, mais personnellement, je n'utilise JAMAIS DataBinding pour sauvegarder des données dans la base de données. J'ai toujours trouvé que c'était "trop ​​de magie" et que j'avais besoin de plus de contrôle. Par conséquent, je suggère fortement que vous manipuliez l'insertion vous-même (via LINQ to Sql ou ADO.Net quel que soit). Le contrôle RichTextBox a une propriété RTF que vous pouvez obtenir pour faire l'insertion manuellement dans la base de données. 2) Pour ce qui est d'obtenir des boutons de mise en forme sur le dessus, ce n'est pas aussi simple que de changer une propriété et d'en finir avec elle. Vous devrez vous-même implémenter ce contrôle personnalisé. Jetez un oeil à cet article CodeProject. Il est dans VB.NET, mais peut-être que ça va vous donner quelques idées: http://www.vbdotnetheaven.com/UploadFile/scottlysle/WordProcessor09122006234320PM/WordProcessor.aspx

3) Pas tout à fait sûr ...

0

Pour le numéro 3, est pas là une propriété sur le RichTextBox qui permet le contexte menu? J'aurais peut-être vu cela sous un contrôle différent mais peut-être qu'il a aussi cette propriété.

+0

ContextMenuStrip, mais défini sur (aucun) – Malfist