VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 在有Clipboard的应用程序间移动数据
发表评论(0)作者:BUILDER.COM, 平台:VB6.0+Win98, 阅读:11344, 日期:2003-08-29
    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提供多种数据格式,你还可以把你的应用程序和其他应用程序更紧凑的整合起来。