C#编程实现查看剪切板内容的方法
作者:期待秋天的叶 发布时间:2022-01-17 07:06:03
标签: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#程序设计有所帮助。


猜你喜欢
- 单元测试是程序员对代码的自测,一般公司都会严格要求单元测试,这是对自己代码的负责,也是对代码的敬畏。一般单元测试都是测试Service层,下
- 概要设计模式是一门艺术,如果真正了解这门艺术,你会发现,世界都将变得更加优美。定义定义一个用于创建对象的接口,让其子类去决定实例化那个类使用
- vs2010测试通过,主要思想是由出生日期和当前日期,两个日期计算出年龄(岁、月、天)using System;using System.C
- 简介简单工厂模式 (Simple Factory) 又叫静态工厂方法(Static Factory Method)模式。简单工厂模式通常是定
- Thymeleaf 是一款用于渲染 XML/XHTML/HTML5 内容的模板引擎。它与 JSP,Velocity,FreeMaker 等模
- 1.引言在操作应用的时候,会有很多不同的手势操作,如按下、单击、双击、长按等手势,我们可以在这些手势事件中添加相应的业务逻辑,那么如何检测不
- 使用INI配置文件,简单便捷。该辅助工具类为C#操作INI文件的辅助类,源码在某位师傅的基础上完善的来,因为忘记最初的来源了,因此不能提及引
- 前言在之前我们分析 Tomcat catalina.bat 原理解析 时候,我们发现在启动tomcat的参数中存在 -Djava.
- XML的主要用途--数据存储和数据描述--是一个优良的配置文件--相当于一个小型数据库--XML不依赖于任何一种编程语言,是独立的W3C提供
- 依赖倒置原则(DIP)定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。问题由来:类A直接依赖类
- Java Double相加出现的怪事问题的提出编译运行下面这个程序会看到什么public class test { public stati
- 现在由于GWF,google基本和咱们说咱见了,就给
- 废话不多说,上代码String basePath = request.getScheme()+"://"+request
- 前言C# 语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新。同时,C# 每个版本的发布都与同
- 一、题目描述题目实现:在进行网络编程时,由于进行网络连接是比较消耗资源的,因此,可以对连接的等待时间进行设置,如果在规定的时间没有进行连接,
- 欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demo
- Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebW
- 前言经过一段时间的学习Oauth2,在网上也借鉴学习了一些大牛的经验,推荐在学习的过程中多看几遍阮一峰的《理解OAuth 2.0》,经过对O
- 1.alibaba falstjson1.Map转JSONMap<String, Object> map = new HashM
- 来自同事_Smile的封装应用,记录学习一下,分享给大家,具体如下:1、AnimImageViewLoader类的封装/** * 适用于an