ClipboardクラスのSetDataObject()メソッド及びGetDataObject()メソッドを用いることで、クリップボードに対してデータをコピーしたり、取得したりする事ができる。 また、SetDataObject()はSystem.Object型を引数に取るので、事実上どのような型のデータでも貼り付けることができる。 ただし、その場合はデータを取得する側でどのようなデータが貼り付けられているかを知る(知っている)必要がある。
' クリップボードにデータをコピーする Private Sub buttonCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonCopy.Click ' テキストボックスの文字列をコピーする Clipboard.SetDataObject(textBoxSource.Text) End Sub ' クリップボードからデータを貼り付ける Private Sub buttonPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttonPaste.Click ' クリップボードのデータを取得する Dim dataObject As IDataObject = Clipboard.GetDataObject() ' テキスト形式のデータかどうか確認する If dataObject.GetDataPresent(DataFormats.Text) Then ' テキスト形式のデータを取得し、テキストボックスに貼り付ける textBoxDest.Text = CType(dataObject.GetData(DataFormats.Text), String) End If End Sub
// クリップボードにデータをコピーする private void buttonCopy_Click( System.Object sender, System.EventArgs e ) { // テキストボックスの文字列をコピーする Clipboard.SetDataObject( textBoxSource.Text ); } // クリップボードからデータを貼り付ける private void buttonPaste_Click( System.Object sender, System.EventArgs e ) { // クリップボードのデータを取得する IDataObject dataObject = Clipboard.GetDataObject(); // テキスト形式のデータかどうか確認する if ( dataObject.GetDataPresent( DataFormats.Text ) ) { // テキスト形式のデータを取得し、テキストボックスに貼り付ける textBoxDest.Text = (string)dataObject.GetData( DataFormats.Text ); } }