怎么双击后复制TextBox的内容

来源:互联网 发布:淘宝店申请照片样本 编辑:程序博客网 时间:2024/06/02 07:35

今天晚上,在14110班的Q群里,有位同学问到,VBA里的文本框里是不是没有右键功能?

我就问他要什么功能,他说想把那些内容复制下来……

然后我就再问他,你直接给TextBox加一个事件响应不就得了……

接下来他恍然大悟……


那么,这个说的是什么意思呢?

其实,就是让他自己在TextBox里,加一条诸如“双击”的事件,然后在事件里直接写入复制的代码即可,这样的话,还要右键何用?



那么,实际上,我们这“复制”的代码,又应该怎么写呢?

下面,提供几种:

1. 是用了一个Data对象,先把TextBox的Text 用SetText的方式,赋给Data对象,然后再放到Clipboard里:

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

    Set MyData = New DataObject

    MyData.SetText TextBox1.Text

    MyData.PutInClipboard

End Sub

2. 这个方法较简单,就是直接用TextBox的Copy方法,让选择的内容直接复制下来:

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

    TextBox1.SelStart = 0

    TextBox1.SelLength = TextBox1.TextLength

    TextBox1.Copy

End Sub

3. 从方法2的基础上,如果我们双击前或者双击过程中将TextBox的内容高亮选中,那么,省略前面两选选择代码也是可以实现复制的。

Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

    TextBox1.Copy

End Sub

 

 

原创粉丝点击