剪贴板问题,用Clipboard方法把数据复制到剪贴板以后(vb.net)。

fengzhifengyi 2009-04-07 07:34:57
高手。。高手。。帮忙。。

我用clipboard方法把数据复制到剪贴板了,我想实现单击按钮把剪贴板上的数据粘贴到光标位置。像windows一样右击粘贴,在光标位置就能粘贴上。

下面是源码 :
    Private Sub 复制_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text <> "" Then
Clipboard.SetDataObject(TextBox1.Text)
Else
TextBox2.Text = "无数据"
End If
End Sub

Private Sub 粘贴_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim iData As IDataObject = Clipboard.GetDataObject()

If iData.GetDataPresent(DataFormats.Text) Then
TextBox2.Text = CType(iData.GetData(DataFormats.Text), String)
Else
TextBox2.Text = "无数据"
End If
End Sub


我想单击粘贴按钮在光标位置把数据从剪贴板上复制下来。而不是局限于TextBox2.

先谢谢了。
...全文
462 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pingchuanhu 2009-04-07
  • 打赏
  • 举报
回复
 Public intCursorIndex As Integer = -1 '全局变量 光标位置索引 
Private Sub 粘贴_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim iData As IDataObject = Clipboard.GetDataObject()

If iData.GetDataPresent(DataFormats.Text) Then
TextBox2.Text =TextBox2.Text.insert(intCursorIndex, CType(iData.GetData(DataFormats.Text), String))
Else
TextBox2.Text = "无数据"
End If
End Sub

'在鼠标移到按钮上方时保存光标位置索引
Private Sub Button2_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.MouseEnter
intCursorIndex = Me.TextBox2.SelectionStart '当Textbox2没有光标时此值为0,将在Textbox最前端插入粘贴文本
End Sub
pingchuanhu 2009-04-07
  • 打赏
  • 举报
回复
MouseLeave事件不用
pingchuanhu 2009-04-07
  • 打赏
  • 举报
回复
在粘贴按钮的MouseEnter、MouseLeave事件中添加处理程序,保存、重置Textbox2.selectionstart值(注意当Textbox2没有光标时此值为0):
[code=VB.NET] Public intCursorIndex As Integer = -1 '全局变量 光标位置索引
Private Sub 粘贴_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim iData As IDataObject = Clipboard.GetDataObject()

If iData.GetDataPresent(DataFormats.Text) Then
TextBox2.Text =TextBox2.Text.insert(intCursorIndex, CType(iData.GetData(DataFormats.Text), String))
Else
TextBox2.Text = "无数据"
End If
End Sub

'在鼠标移到按钮上方时保存光标位置索引
Private Sub Button2_MouseEnter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.MouseEnter
intCursorIndex = Me.TextBox2.SelectionStart '当Textbox2没有光标时此值为0,将在Textbox最前端插入粘贴文本
End Sub
fengzhifengyi 2009-04-07
  • 打赏
  • 举报
回复
没人用过吗。。着急用。。

麻烦大家了

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧