投稿者 NORI  (社会人) 投稿日時 2010/6/3 00:02:28
はじめまして、初心者ですがよろしくお願いします。

テキストボックスの中身をクリップボードにコピーして、
メモ帳などの別ウィンドウに貼り付けようとしています。

以下の内容で実施すると、1回目の貼り付けデータが
2回目のTextBox2の内容になってしまいます。

何が良くないのでしょうか。

Public Class Form1
    Private Const WS_EX_NOACTIVATE As Integer = &H8000000
    Protected Overrides ReadOnly Property CreateParams() As CreateParams
        Get
            Dim p As CreateParams = MyBase.CreateParams
            If Not MyBase.DesignMode Then
                p.ExStyle = p.ExStyle Or (WS_EX_NOACTIVATE)
            End If
            Return p
        End Get
    End Property

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Clipboard.SetDataObject(TextBox1.Text)
        SendKeys.Send("^v")
        SendKeys.Send("{Enter}") 'ここで、なぜかTextBox2の値が貼り付けられる。
        Clipboard.SetDataObject(TextBox2.Text)
        SendKeys.Send("^v")
        SendKeys.Send("{Enter}")
    End Sub
End Class