ClipboardクラスのSetDataObject()メソッド及びGetDataObject()メソッドを用いることで、クリップボードに対してデータをコピーしたり、取得したりする事ができる。 また、SetDataObject()はSystem.Object型を引数に取るので、事実上どのような型のデータでも貼り付けることができる。 ただし、その場合はデータを取得する側でどのようなデータが貼り付けられているかを知る(知っている)必要がある。
// クリップボードにデータをコピーする
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 );
}
}
' クリップボードにデータをコピーする
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