Je cherche à personnaliser un contrôle de zone de texte enrichi sur mon application Windows Form. La RichTextbox sera utilisée pour saisir les données de texte qui, une fois complétées, seront envoyées par SMS.c Remplacer la fonction de collage RichTextBox - Application Win Form
Les exigences sont que le texte ne peut pas avoir de ruptures de ligne car certains des anciens téléphones portables n'affiche pas les informations correctement et il perd son formatage. Ce que je dois être en mesure de faire est d'attraper les données du presse-papiers avant qu'il ne soit collé dans le RTB et de personnaliser sa mise en forme, par exemple supprimer les sauts de ligne.
J'ai trouvé un exemple ici qui a obtenu ce travail dans une certaine mesure, mais enlève pouvoir coller dans d'autres contrôles: -
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if((keyData == (Keys.Control | Keys.V)))
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
string contents = Clipboard.GetText().Replace("\r\n", " ");
Clipboard.SetData(DataFormats.Text, contents);
richTextBox1.Paste();
}
return true;
}
else
{
return base.ProcessCmdKey(ref msg, keyData);
}
}
Est-ce que quelqu'un sait comment je devrais faire cela s'il vous plaît?
En outre, ce code ne gérera pas les opérations de clic-droit. –
Vous ne pouvez pas faire cela sur un formulaire Win, uniquement dans WPF. – Derek