Windows フォーム アプリケーションでリッチ テキスト ボックス コントロールをカスタマイズしようとしています。RichTextbox はテキスト データの入力に使用され、入力が完了すると SMS テキスト メッセージで送信されます。
一部の古い携帯電話では情報が正しく表示されず、書式設定が失われるため、テキストに改行を含めることはできません。
私ができる必要があるのは、RTB に貼り付ける前にクリップボードのデータをキャッチし、そのフォーマットをカスタマイズすることです (改行を削除するなど)。
ここで、これがある程度機能する例を見つけましたが、他のコントロールに貼り付けることができなくなります:-
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);
}
}
私がこれをどのようにすべきか知っている人はいますか?