首页 > 其他分享 >Winform中实现将照片剪贴到系统剪切板中(附代码下载)

Winform中实现将照片剪贴到系统剪切板中(附代码下载)

时间:2023-03-12 10:37:03浏览次数:43  
标签:imageList1 sender 剪贴 void 剪切板 EventArgs 按钮 Images Winform


场景

效果

Winform中实现将照片剪贴到系统剪切板中(附代码下载)_Image

 

点击剪切按钮

Winform中实现将照片剪贴到系统剪切板中(附代码下载)_点击事件_02

 

点击粘贴按钮

Winform中实现将照片剪贴到系统剪切板中(附代码下载)_点击事件_03

 

注:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

新建一个form窗体,设计布局如下

Winform中实现将照片剪贴到系统剪切板中(附代码下载)_C#_04

 

主要是有两个PictureBox控件以及四个按钮,下面是一个imageList控件,然后给其添加三张照片。

在窗体的load事件中实现加载窗体时默认显示ImageList的第一张照片

private void Form1_Load(object sender, EventArgs e)
{
//加载窗体时默认显示ImageList中的第一章图片
pictureBox1.Image = imageList1.Images[0];
//加载时“上一张”按钮处于不可用状态
previousSheet.Enabled = false;
}

因为ImageList中有三张照片所以设置下一张按钮的点击事件

private void nextSheet_Click(object sender, EventArgs e)
{
//激活“上一张”按钮
previousSheet.Enabled = true;
//判断是否越界
if (i <imageList1.Images.Count)
{
i++;
//判断是否浏览到最后一张
if (i==imageList1.Images.Count-1)
{
nextSheet.Enabled = false;
}
//当不越界时
if (i < 3)
{
pictureBox1.Image = imageList1.Images[i];
}
}
}

同理设置上一张按钮的点击事件

private void previousSheet_Click(object sender, EventArgs e)
{
nextSheet.Enabled = true;
if (i < imageList1.Images.Count)
{
i--;
if (i == 0)
{
previousSheet.Enabled = false;
}
if (i >=0)
{
pictureBox1.Image = imageList1.Images[i];
}
}
}

设置剪切按钮的点击事件

 

private void cut_Click(object sender, EventArgs e)
{
//将数据置于系统剪贴板中,并指定在退出程序后是否是否将数据保留在剪贴板中
Clipboard.SetDataObject(imageList1.Images [i],false );
MessageBox.Show("剪切成功!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Asterisk );
}

主要是调用Clipboard的SetDataObject方法。此方法将数据置于系统剪切板中,第二个参数指定在退出程序后是否将数据保留在剪贴板中。

然后编写粘贴按钮的点击事件

private void copy_Click(object sender, EventArgs e)
{
pictureBox2.Image = Clipboard.GetImage();
MessageBox.Show("剪切成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}

主要是通过Clipboard的GetImage()方法获取剪切板中的照片并给右边的PictureBox设置数据源。


标签:imageList1,sender,剪贴,void,剪切板,EventArgs,按钮,Images,Winform
From: https://blog.51cto.com/BADAOLIUMANGQZ/6115491

相关文章