首页 / 软件开发 / C# / Visual C#的剪切板编程
Visual C#的剪切板编程2009-10-09 天极 阿虎Visual C#是微软.Net框架中的一个重要的程序开发语言,虽然在.Net框架中还有其他的程序开发语言,但微软似乎对Visual C#更喜爱有加。这同时也就决定了Visual C#在.Net框架中的地位,以及他以后的发展前途。由于针对剪切板方面的编程始终是程序设计的一个重点,当然也可以算是一个难点。本文将探讨如何利用Visual C#进行剪切板编程。本文将结合二个具体的程序例子来介绍Visual C#剪切板编程的二个重要方面:判定剪切板中的数据类型、保存剪切板中的数据。首先来介绍Visual C#如何判定剪切板中的数据类型的。剪切板中可以存放许多类型的数据,而Visual C#可以判定剪切板中的数据类型大致有21种,这其中包括位图(Bitmap)、文本(Text)、超文本(Html)等,由于类型比较将多,本文将只介绍比较典型的数据类型,对于其他的数据类型,操作方法基本类似。一.本文程序设计和运行的环境:(1).微软公司视窗2000服务器版(2)..Net FrameWork SDK Beta 2二.介绍程序中使用到的类和接口:Visual C#判断剪切板中的数据类型,要使用到.Net FrameWork SDK中二个类(Class)和一个接口(Interface),具体的就是:Clipboard类、DataFormats类和IdataObject接口。这三者的作用是:Clipboard类是一个不可以继承的类,他的主要作用是通过自身的方法来实现在计算机系统的剪切板中存放和获得数据。DataFormats类主要是提供了一个预先设定好的剪切板数据类型,并可以被IdataObject接口调用来判定剪切板数据类型。IdataObject接口提供了一个自由格式的装置来传输数据。下面就结合这些类和接口来具体看一下,具体的使用方法。三.Visual C#判定剪切板数据类型的解决思路以及重要步骤的解决办法:(1).首先要读取剪切板中的数据内容:Clipboard类中有一个方法叫GetDataObject ( ),此方法的作用就是读取当前剪切板中的数据内容。要把读取了当前剪切板中数据存放起来,这就要用到IdataObject接口,这个接口可以使用在Clipboard类和Drag and Drop的操作中。下面这些代码就是读取把当前剪切板中的数据内容并存放起来。IDataObject d = Clipboard.GetDataObject ( ) ;
(2).判定当前剪切板中的数据类型:在IdataObject接口中有一个方法名称是GetDataPresent ( ),这个方法的作用是检测存放在接口的数据是否是指定的数据类型或者可以转换成指定的数据类型。他的返回值是布尔型,True表示为指定的数据类型或者可以转换成指定的数据类型。False于上面意思相反。下面语句实现的功能是判定当前剪切板的数据内容是否为位图、文本和超文本的,具体如下:if ( d.GetDataPresent ( DataFormats.Bitmap ) ) {
Console.WriteLine ( "当前剪切板中的数据类型是位图!" ) ;
} else if ( d.GetDataPresent ( DataFormats.Text ) ) {
Console.WriteLine ( "当前剪切板中的数据类型是文本!" ) ;
} else if ( d.GetDataPresent ( DataFormats.Html ) ) {
Console.WriteLine ( "当前剪切板中的数据类型是超文本!" ) ;
} else {
Console.WriteLine ( "当前剪切板中的数据类型是其他类型数据!" ) ;
}