我想使用以下代码在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次?
您的代码似乎正确,没有理由将文本粘贴两次!我想你需要在ListBox1
事件中添加文本之前先清除MenuItemPaste_Click
。因此,您可以尝试使用以下代码:
ListBox1.Items.Clear()
Dim items() As String = Clipboard.GetText.Split(New String() {Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) '
ListBox1.Items.AddRange(items)
谢谢你在这么短的时间内得到答案。事实上。我想出了问题是什么(经过多次修改后),这真是一个愚蠢的错误。我忘记了,在代码的开头,(在加载时),之后我添加了一个处理程序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
因此,以这种方式,事件上的粘贴被复制