C#之PixturBox控制項實現縮放和拖動圖片

來源:互聯網
上載者:User

標籤:error   void   image   one   height   mouse   rgs   window   nbsp   

一、實現滑鼠滾輪控製圖片縮放;

1、設定PixtureBox屬性:

  Dock:none

  SizeMode:StretchImage

2、添加事件:

pbxDrawing.MouseWheel += new MouseEventHandler(pbxDrawing_MouseWheel);

 

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;            }        }
 //實現滾輪縮放        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;            }        }
 //實現移動圖片        int xPos;        int yPos;        bool MoveFlag;        private void pbxDrawing_MouseDown(object sender, MouseEventArgs e)        {            this.pbxDrawing.Focus();            MoveFlag = true;//已經按下.            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);//設定x座標.                pbxDrawing.Top += Convert.ToInt16(e.Y - yPos);//設定y座標.            }        }

 

C#之PixturBox控制項實現縮放和拖動圖片

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.