C# 文件拖拽和pixturBox縮放與拖拽功能
文件拖拽:
效果:將一個文件拖拽到窗體的某個控件時,將該控件的路徑顯示在該控件上,只要拿到了路徑自然可以讀取文件中的內(nèi)容了。
將一個控件的屬性AllowDrop設(shè)置為true,然后添加DragDrop、DragEnter時間處理函數(shù),如下:
private void txtAppPath_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Link; } else { e.Effect = DragDropEffects.None; } } private void txtAppPath_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { txtLocalFileName.Text = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString(); }
圖片的縮放和拖拽:
一、實現(xiàn)鼠標滾輪控制圖片縮放;
1、設(shè)置PixtureBox屬性:
Dock:none
SizeMode:StretchImage
2、添加事件:
(1)設(shè)置綁定圖片路徑
private void ScrewInfoForm_Shown(object sender, EventArgs e) { //加載裝配圖紙 string drawingPath = Path.Combine(@"\\192.168.2.136\PCS", productCode + ".png"); try { pbxDrawing.Load(drawingPath); } catch (Exception ex) { MessageBox.Show("加載裝配圖紙失敗,詳細:" + ex.Message, "測量", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } }
(2)添加事件1
pbxDrawing.MouseWheel += new MouseEventHandler(pbxDrawing_MouseWheel); //實現(xiàn)滾輪縮放 private void pbxDrawing_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Delta < 0) { this.pbxDrawing.Width = this.pbxDrawing.Width * 9 / 10; this.pbxDrawing.Height = this.pbxDrawing.Height * 9 / 10; } else { this.pbxDrawing.Width = this.pbxDrawing.Width * 11 / 10; this.pbxDrawing.Height = this.pbxDrawing.Height * 11 / 10; } }
(3)添加事件2
//實現(xiàn)移動圖片 int xPos; int yPos; bool MoveFlag; private void pbxDrawing_MouseDown(object sender, MouseEventArgs e) { this.pbxDrawing.Focus(); MoveFlag = true;//已經(jīng)按下. xPos = e.X;//當前x坐標. yPos = e.Y;//當前y坐標. } //在picturebox的鼠標按下事件里. private void pbxDrawing_MouseUp(object sender, MouseEventArgs e) { MoveFlag = false; } //在picturebox鼠標移動 private void pbxDrawing_MouseMove(object sender, MouseEventArgs e) { if (MoveFlag) { pbxDrawing.Left += Convert.ToInt16(e.X - xPos);//設(shè)置x坐標. pbxDrawing.Top += Convert.ToInt16(e.Y - yPos);//設(shè)置y坐標. } }
總結(jié)
以上所述是小編給大家介紹的c# 文件拖拽和pixturBox縮放與拖拽,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對我們網(wǎng)站的支持!
上一篇:C#實現(xiàn)的封裝CURD到SqlHelper類用法簡單分析
欄 目:C#教程
下一篇:c#打包文件解壓縮的實例
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5418.html
您可能感興趣的文章
- 01-10C#實現(xiàn)多線程下載文件的方法
- 01-10C#文件斷點續(xù)傳實現(xiàn)方法
- 01-10C#實現(xiàn)多線程寫入同一個文件的方法
- 01-10Extjs4如何處理后臺json數(shù)據(jù)中日期和時間
- 01-10C#編程獲取資源文件中圖片的方法
- 01-10C#實現(xiàn)讀取被進程占用的文件實現(xiàn)方法
- 01-10C#刪除只讀文件或文件夾(解決File.Delete無法刪除文件)
- 01-10C# readnodefile()不能讀取帶有文件名為漢字的osg文件解決方法
- 01-10C#路徑,文件,目錄及IO常見操作匯總
- 01-10C#及WPF獲取本機所有字體和顏色的方法


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
隨機閱讀
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 04-02jquery與jsp,用jquery
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10C#中split用法實例總結(jié)
- 01-10delphi制作wav文件的方法
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05DEDE織夢data目錄下的sessions文件夾有什