我想使用以下代码在vb.net中粘贴clipbord中的数据:
Private Sub MenuItemPaste_Click(sender As Object, e As EventArgs) Handles MenuItemPaste.Click
Dim items() As String = Clipboard.GetText.Split(New String() {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) '
ListBox1.Items.AddRange(items)
为什么选择的文字被粘贴2次?
答案 0 :(得分:2)
您的代码似乎正确,没有理由将文字粘贴两次!我想您需要首先清除ListBox1
,然后才能在MenuItemPaste_Click
事件中向其添加文字。因此,您可以尝试使用以下代码:
ListBox1.Items.Clear()
Dim items() As String = Clipboard.GetText.Split(New String() {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) '
ListBox1.Items.AddRange(items)
答案 1 :(得分:0)
在这么短的时间内感谢您的答案。事实上。我想出了问题是什么(经过多次修改后),这真是一个愚蠢的错误。我忘记了,在代码的开头,(在加载时),之后我添加了一个处理程序AddHandler MenuItemPaste.Click, AddressOf MenuItemPaste_Click
,用于执行MenuItemPaste_Click sub
我以这种方式编写它:
Private Sub MenuItemPaste_Click(sender As Object, e As EventArgs) Handles MenuItemPaste.Click
Dim items() As String = Clipboard.GetText.Split(New String() {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
ListBox1.Items.AddRange(items)
End Sub
因此,以这种方式,事件上的粘贴被重复