Winform中实现将照片剪贴到系统剪切板中(附代码下载)
場(chǎng)景
效果
?
點(diǎn)擊剪切按鈕
?
點(diǎn)擊粘貼按鈕
?
注:
博客主頁:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號(hào)
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
實(shí)現(xiàn)
新建一個(gè)form窗體,設(shè)計(jì)布局如下
?
主要是有兩個(gè)PictureBox控件以及四個(gè)按鈕,下面是一個(gè)imageList控件,然后給其添加三張照片。
在窗體的load事件中實(shí)現(xiàn)加載窗體時(shí)默認(rèn)顯示ImageList的第一張照片
private void Form1_Load(object sender, EventArgs e){//加載窗體時(shí)默認(rèn)顯示ImageList中的第一章圖片pictureBox1.Image = imageList1.Images[0];//加載時(shí)“上一張”按鈕處于不可用狀態(tài)previousSheet.Enabled = false;}因?yàn)镮mageList中有三張照片所以設(shè)置下一張按鈕的點(diǎn)擊事件
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;}//當(dāng)不越界時(shí)if (i < 3){pictureBox1.Image = imageList1.Images[i];}}}同理設(shè)置上一張按鈕的點(diǎn)擊事件
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];}}}設(shè)置剪切按鈕的點(diǎn)擊事件
?
private void cut_Click(object sender, EventArgs e){//將數(shù)據(jù)置于系統(tǒng)剪貼板中,并指定在退出程序后是否是否將數(shù)據(jù)保留在剪貼板中Clipboard.SetDataObject(imageList1.Images [i],false );MessageBox.Show("剪切成功!","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Asterisk );}主要是調(diào)用Clipboard的SetDataObject方法。此方法將數(shù)據(jù)置于系統(tǒng)剪切板中,第二個(gè)參數(shù)指定在退出程序后是否將數(shù)據(jù)保留在剪貼板中。
然后編寫粘貼按鈕的點(diǎn)擊事件
private void copy_Click(object sender, EventArgs e){pictureBox2.Image = Clipboard.GetImage();MessageBox.Show("剪切成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);}主要是通過Clipboard的GetImage()方法獲取剪切板中的照片并給右邊的PictureBox設(shè)置數(shù)據(jù)源。
代碼下載
https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/12028591
總結(jié)
以上是生活随笔為你收集整理的Winform中实现将照片剪贴到系统剪切板中(附代码下载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Winform中实现批量文件复制(附代码
- 下一篇: 分布式系统的发展演变以及RPC简介