c#中拖动图片的例子
生活随笔
收集整理的這篇文章主要介紹了
c#中拖动图片的例子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這個問題來自論壇提問,并沒有什么難度,也不需要重畫內容。當然還有一種方法是通過api發送WM_SysCommand 和SC_MOVE,也就是拖動無標題窗體的方法 ,但是效果沒有這個好。
using ?System;using ?System.Drawing;
using ?System.Windows.Forms;
namespace ?WindowsApplication2
... {
???? public ? partial ? class ?Form1?:?Form
???? ... {
???????? static ? string ?strDown? = ? @" AAACAAEAICAAAAsACQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAIAAAAA
???????????????????????AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
???????????????????????AAAAAAAAAAf4AAAD8AAAA/AAAAPwAAAH+AAAD/gAAB/8AAA//AAAN/wAACf+AAAH
???????????????????????9gAADbQAAA2wAAAJsAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
???????????????????????AAAAAAAA8AP///gH///4
???????????????????????B///+Af///AD///gA///wAH//4AB//+AAf//gAD//4AA///AAP//4AH//+AH///g
???????????????????????Dj8= " ;
???????? static ? string ?strUp? = ? @" AAACAAEAICAAAAoACAAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAIAAA
????????????????????????AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
????????????????????????AAAAAAAAAAAAAf4AAAD8AAAA/AAAAPwAAAH+AAAD/gAAB/8AAA//AAAd/wAAGf+
????????????????????????AAAH9gAADbYAAA2yAAAZsAAAGbAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
????????????????????????AAAAAAAAAAAAA8AP///
????????????????????????gH///4B///+Af///AD///gA///wAH//4AB//8AAf//AAD//4AA///gAP//4AD//
????????????????????????8AF///AB///5A5///8= " ;
????????Cursor?curUp? = ? new ?Cursor( new ?System.IO.MemoryStream(Convert.FromBase64String(strUp)));
????????Cursor?curDown? = ? new ?Cursor( new ?System.IO.MemoryStream(Convert.FromBase64String(strDown)));
???????? public ?Form1()
???????? ... {
????????????InitializeComponent();
???????????? this .pictureBox1.Cursor? = ?curUp;
????????}
???????? bool ?bDragging? = ? false ;
????????Point?pClicked;
???????? private ? void ?pictureBox1_MouseDown( object ?sender,?MouseEventArgs?e)
???????? ... {
????????????bDragging? = ? true ;
????????????pClicked? = ? new ?Point(e.X,?e.Y);
???????????? this .pictureBox1.Cursor? = ?curDown;
????????}
???????? private ? void ?pictureBox1_MouseMove( object ?sender,?MouseEventArgs?e)
???????? ... {
???????????? if ?(bDragging)
???????????? ... {
????????????????Point?oMoveToPoint;
????????????????oMoveToPoint? = ? this .PointToClient(pictureBox1.PointToScreen( new ?Point(e.X,?e.Y)));
????????????????oMoveToPoint.Offset(pClicked.X? * ? - 1 ,?pClicked.Y? * ? - 1 );
????????????????pictureBox1.Location? = ?oMoveToPoint;
????????????}
????????}
???????? private ? void ?pictureBox1_MouseUp( object ?sender,?MouseEventArgs?e)
???????? ... {
????????????bDragging? = ? false ;
???????????? this .pictureBox1.Cursor? = ?curUp;
????????}
????}
} ?
轉載于:https://www.cnblogs.com/cl1024cl/archive/2008/04/15/6204957.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的c#中拖动图片的例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用 C# 做组件设计时的事件实现方法讨论
- 下一篇: C#编程利器之五:集合对象(Collec