好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#编程实现查看剪切板内容的方法

本文实例讲述了c#编程实现查看剪切板内容的方法。分享给大家供大家参考,具体如下:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

namespace windowsformsapplication49

{

   public partial class form1 : form

   {

     public form1()

     {

       initializecomponent();

     }

     private void form1_load( object sender, eventargs e)

     {

       radiobutton1. checked = true ;

       picturebox1.visible = false ;

       textbox1.visible = true ;

     }

     //“查看”按钮

     private void button1_click( object sender, eventargs e)

     {

       idataobject data; //为传送数据提供与格式无关的接口

       string format = formatstring();

       if (format == "bitmap" )

       {

         textbox1.visible = false ;

         picturebox1.visible = true ;

         data = clipboard.getdataobject(); //检索位于当前系统剪切板的数据

         if (data.getdatapresent(format)) //确定此实例中存储的数据是否与指定的格式关联,返回布尔

         {

           picturebox1.image = (bitmap)data.getdata(format); //检索与指定的格式关联的数据

           picturebox1.sizemode = pictureboxsizemode.stretchimage;

         }

         else

         {

           messagebox.show( "格式不正确" , "提示" );

         }

       }

       else

       {

         textbox1.visible = true ;

         picturebox1.visible = false ;

         data = clipboard.getdataobject();

         if (data.getdatapresent(format))

         {

           textbox1.text = ( string )data.getdata(format);

         }

         else

         {

           messagebox.show( "格式不正确" , "提示" );

         }

       }

     }

     private string formatstring()

     {

       string format = "" ;

       if (radiobutton1. checked ) format = dataformats.text; //得到idataobject里面数据的格式

       if (radiobutton2. checked ) format = dataformats.rtf;

       if (radiobutton3. checked ) format = dataformats.bitmap;

       if (radiobutton4. checked ) format = dataformats.html;

       return format;

     }

   }

}

运行程序后,如果之前复制过bitmap图,则textbox消失,pictruebox出现,并且显示该图;反之如果选择的是后三项,则textbox出现,并且显示复制过的值。效果图如下:

这里有一个问题,如果把文字与图片一起复制的话,就不能显示了。感兴趣的朋友可以加以完善。

希望本文所述对大家c#程序设计有所帮助。

dy("nrwz");

查看更多关于C#编程实现查看剪切板内容的方法的详细内容...

  阅读:91次