场景
效果
点击剪切按钮
点击粘贴按钮
注:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新建一个form窗体,设计布局如下
主要是有两个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设置数据源。