VB.NET中的Clipboard对象(在System.Windows.Forms命名空间里)允许你在一个应用程序或几个应用程序之间存储和检索数据。使用Clipboard对象非常简单,就像下面这样:
拷贝数据
Clipboard.SetDataObject(TextBox1.Text)
粘贴数据
TextBox2.Text = Clipboard.GetDataObject().GetData(DataFormats.Text, _ False)
这段代码对于简单的文本数据非常有效;然而,要想在应用程序之间复制和粘贴或者是进行其他的操作,你需要提供多种的数据格式。你给数据提供的可用格式越多,其他应用程序就越有可能使用这个数据。
通过创建一个DataObject,你可以根据你的需要把数据以多种格式存储。你还可以用GetDataPresent方法来检查某个格式是否被支持。
下面的代码介绍了如何用DataObject来存储RTF数据和文本数据。同时,这段代码还说明了如何用GetDataPresent来查看所有支持的格式。
Dim ClipboardData As New DataObject()
ClipboardData.SetData(DataFormats.Rtf, RichTextBox1.Rtf)
ClipboardData.SetData(DataFormats.Text, RichTextBox1.Text)
Clipboard.SetDataObject(ClipboardData)
If Clipboard.GetDataObject().GetDataPresent(DataFormats.Text) Then
TextBox2.Text = Clipboard.GetDataObject().GetData(DataFormats.Text)
End If
If Clipboard.GetDataObject().GetDataPresent(DataFormats.Rtf) Then
RichTextBox2.Rtf = Clipboard.GetDataObject().GetData(DataFormats.Rtf)
End If
Clipboard及其对多种格式的支持使得你的应用程序可以支持标准的Windows剪切和粘贴功能。通过为Clipboard提供多种数据格式,你还可以把你的应用程序和其他应用程序更紧凑的整合起来。