将多行文本粘贴到单行文本框中

时间:2012-11-15 21:12:11

标签: c# .net winforms

我有一个单行文本框,当我复制一些文本时,让我们说多行上的记事本并将它们粘贴到我的文本框中,只显示第一行文字(很明显)但是我怎么能改变这个这样线条在粘贴它们并由空格分隔时自动连接。我看到我需要修改textbox_changed事件,但这会影响该文本框中发生的所有事情,而不仅仅是粘贴事件。你能给我一些代码来处理粘贴事件并忽略所有其他事件..谢谢:)

winforms
mouse paste event

2 个答案:

答案 0 :(得分:3)

this您要找的是什么?

剪贴板事件 C#中的文本框有许多有用的事件,用于指示何时执行了某些操作。例如,.NET文本框具有一个事件,用于指示文本何时更改或用户何时按下了键。这些事件允许C#开发人员编写与文本框交互的干净代码。 遵循相同的原则,我们可以手动实现由剪贴板操作触发的事件,即在文本框中剪切,复制或粘贴文本。 .NET Framework没有附带这些事件,但它们并不难实现。 7/5/11更新:添加了抑制复制,剪切和粘贴事件的支持。 自定义文本框 要实现自定义事件,我们将不得不创建自己的文本框用户控件。用户控件将继承Textbox类,因为我们需要.NET文本框的所有默认行为。 创建自定义用户控件还可以让我们覆盖WndProc函数,该函数处理传递给控件的消息。通过覆盖该功能,我们可以在允许控件处理文本之前检测诸如剪切,复制或粘贴文本之类的消息。

答案 1 :(得分:0)

如果您使用.asp webforms,则需要更改文本框中的文本模式

像这样TextMode="MultiLine" Columns="50" Rows="5"

Winforms中的

 textBox1.Multiline = true;