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

 更新时间:2015年11月28日 12:18:29   作者:期待秋天的叶  
这篇文章主要介绍了C#编程实现查看剪切板内容的方法,涉及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#程序设计有所帮助。

相关文章

  • c# 线程定时器 System.Threading.Timer的使用

    c# 线程定时器 System.Threading.Timer的使用

    本文主要介绍了c# 线程定时器 System.Threading.Timer的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • C#解决引用类型的深度克隆问题

    C#解决引用类型的深度克隆问题

    本文将给大家介绍如何让引用类型的对象复制以后各自拥有独立的内存从而实现一个对象值的变化不会影响别的对象,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-08-08
  • Stream.Write 与 StreamWriter.Write 的不同

    Stream.Write 与 StreamWriter.Write 的不同

    Stream.Write 与 StreamWriter.Write 是我们在向流中写数据时,最常用的方法。下面就详细讲解这两个方法。
    2013-04-04
  • C#中Winform 实现Ajax效果自定义按钮

    C#中Winform 实现Ajax效果自定义按钮

    这篇文章主要介绍了C#中Winform 实现Ajax效果自定义按钮的相关资料,需要的朋友可以参考下
    2017-12-12
  • 解析C#设计模式编程中的装饰者模式

    解析C#设计模式编程中的装饰者模式

    这篇文章主要介绍了C#设计模式编程中的装饰者模式,同时也谈到了其在.NET框架中的应用,需要的朋友可以参考下
    2016-02-02
  • C#装箱和拆箱的原理介绍

    C#装箱和拆箱的原理介绍

    这篇文章介绍了C#装箱和拆箱的原理,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • c#文件操作示例带详细注释

    c#文件操作示例带详细注释

    System.IO.Directory类和System.DirectoryInfo类主要提供关于目录的各种操作,使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法
    2014-01-01
  • c#实现输出的字符靠右对齐的示例

    c#实现输出的字符靠右对齐的示例

    下面小编就为大家分享一篇c#实现输出的字符靠右对齐的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • 教你C#将CSV转为Excel的实现方法

    教你C#将CSV转为Excel的实现方法

    这篇文章主要介绍了C# 将CSV转为Excel,转换之后可执行更多关于数据编辑、格式设置等操作,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-03-03
  • C#编程之依赖倒置原则DIP

    C#编程之依赖倒置原则DIP

    这篇文章介绍了C#编程之依赖倒置原则DIP,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03

最新评论