最近做了一個小工具,在Winform中對Picture控件有一個需求,可以通過鼠標從外部拖拽圖片到控件的上,釋放鼠標,顯示圖片!
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都網(wǎng)站制作、成都網(wǎng)站建設、外貿(mào)營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的遂昌網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

首先你需要對你的整個Fom窗口的AllowDrop設置Ture

//函數(shù)從動態(tài)鏈接庫中倒入(模擬鼠標事件)
[System.Runtime.InteropServices.DllImport("user32")]
private static extern int mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
const int MOUSEEVENTF_LEFTDOWN = 0x0002; //模擬鼠標左鍵按下
const int MOUSEEVENTF_LEFTUP = 0x0004; //模擬鼠標左鍵抬起
//設置靜態(tài)字段傳遞圖片路徑參數(shù)
public static string path_url;
//獲取鼠標拖入圖片的絕對路徑
private void Form1_DragDrop(object sender, DragEventArgs e)
{
//獲取當前推拽圖片的路徑
string path2 = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); ;
path_url = path2;
//模擬鼠標釋放鼠標左鍵的時事件
mouse_event(MOUSEEVENTF_LEFTUP | MOUSEEVENTF_LEFTUP, Cursor.Position.X, Cursor.Position.Y, 0, 0);
}
//判斷鼠標拖入文件的類型判斷是不是文件類型
private void Form1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
//需求有一需要從QQ的聊天記錄中拖拽圖片到WinForm窗體中,用ALL會出現(xiàn)QQ的聊天信息中的圖片丟失
//Link和Move不能從QQ的聊天記錄中拖拽圖片到WinForm窗體中,Copy和Scroll都可以實現(xiàn),推薦使用Copy
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}

在來設置PictureBox的事件

//當鼠標在當前控釋放的時候觸發(fā)控件
private void pic_1_MouseUp(object sender, MouseEventArgs e)
{
//給PictureBox設置圖片路徑
pic_1.ImageLocation = path_url;
}
以上就可以完成推拽圖片顯示圖片(無論是本地還是QQ消息框中的圖片都可以實現(xiàn))
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
本文標題:Winform控件Picture實現(xiàn)圖片拖拽顯示效果
新聞來源:http://www.chinadenli.net/article28/gisdjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供自適應網(wǎng)站、營銷型網(wǎng)站建設、微信小程序、全網(wǎng)營銷推廣、服務器托管、面包屑導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)