1

私は単一行のテキストボックスを持っています.複数行のメモ帳からテキストをコピーしてテキストボックスに貼り付けると、テキストの最初の行のみが表示されます(明らかです)が、これを変更するにはどうすればよいですか?行は貼り付け時に自動的に結合され、スペースで区切られます。textbox_changed イベントを変更する必要があることがわかりましたが、これは貼り付けイベントだけでなく、そのテキストボックスで行われるすべてに影響します。貼り付けイベントを処理し、他のすべてのイベントを無視するコードを教えてください..ありがとう:)

winforms
mouse paste event
4

2 に答える 2

3

これはあなたが探しているものですか?

クリップボード イベント C# の Textbox には、特定のアクションが実行されたことを示す便利なイベントが多数あります。たとえば、.NET テキストボックスには、テキストが変更されたとき、またはユーザーがキーを押したときを示すイベントがあります。これらのイベントにより、C# 開発者は、テキスト ボックスとやり取りするクリーンなコードを記述できます。同じ原則に従って、クリップボード アクションによってトリガーされるイベントを手動で実装できます。つまり、テキスト ボックスでのテキストの切り取り、コピー、または貼り付けです。.NET Framework にはこれらのイベントは付属していませんが、実装は難しくありません。2011 年 7 月 5 日更新: コピー、切り取り、貼り付けイベントを抑制するサポートが追加されました。カスタム テキスト ボックス カスタム イベントを実装するには、独自のテキスト ボックス ユーザー コントロールを作成する必要があります。.NET テキスト ボックスのすべての既定の動作が必要なため、ユーザー コントロールは Textbox クラスを継承します。カスタム ユーザー コントロールを作成すると、コントロールに渡されたメッセージを処理する WndProc 関数をオーバーライドすることもできます。関数をオーバーライドすることで、テキストの切り取り、コピー、貼り付けなどのメッセージを、コントロールが処理できるようにする前に検出できます。

于 2012-11-15T22:00:21.853 に答える
0

.asp Webフォームを使用している場合は、テキストボックスのテキストモードを変更する必要があります

このようなものにTextMode="MultiLine" Columns="50" Rows="5"

Winformsで

 textBox1.Multiline = true;
于 2012-11-15T21:14:03.963 に答える