图片拖动问题

zhishiheng 2014-12-19 02:09:28
以前项目里面的例子

static string strDown = @" AAACAAEAICAAAAsACQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAIAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAf4AAAD8AAAA/AAAAPwAAAH+AAAD/gAAB/8AAA//AAAN/wAACf+AAAH
9gAADbQAAA2wAAAJsAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA////////////////////////////////////////////8AP///gH///4
B///+Af///AD///gA///wAH//4AB//+AAf//gAD//4AA///AAP//4AH//+AH///g
D////j////////////////////////////////////////////8= ";
static string strUp = @" AAACAAEAICAAAAoACAAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAIAAA
AAAAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAf4AAAD8AAAA/AAAAPwAAAH+AAAD/gAAB/8AAA//AAAd/wAAGf+
AAAH9gAADbYAAA2yAAAZsAAAGbAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA////////////////////////////////////////////8AP///
gH///4B///+Af///AD///gA///wAH//4AB//8AAf//AAD//4AA///gAP//4AD//
8AF///AB///5A////5///////////////////////////////////////8= ";

Cursor curUp = new Cursor(new System.IO.MemoryStream(Convert.FromBase64String(strUp)));
Cursor curDown = new Cursor(new System.IO.MemoryStream(Convert.FromBase64String(strDown)));
bool bDragging = false;
Point pClicked;
private void pictureEdit1_MouseDown(object sender, MouseEventArgs e)
{
bDragging = true;
pClicked = new Point(e.X, e.Y);
this.pictureBox1.Cursor = curDown;
}

private void pictureEdit1_MouseUp(object sender, MouseEventArgs e)
{

bDragging = false;
this.pictureBox1.Cursor = curUp;
}

private void pictureEdit1_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;
}
}

static string strDown = @" AAACAAEAICAAAAsACQAwAQAAFgAAACgAAAAgAAAAQAAAAAEAAQAAAAAAAAIAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAf4AAAD8AAAA/AAAAPwAAAH+AAAD/gAAB/8AAA//AAAN/wAACf+AAAH
9gAADbQAAA2wAAAJsAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA////////////////////////////////////////////8AP///gH///4
B///+Af///AD///gA///wAH//4AB//+AAf//gAD//4AA///AAP//4AH//+AH///g
D////j////////////////////////////////////////////8= ";
这些字符串是什么意思?
如果我想拖动不是图片,而是lable 用这种方法可以吗?
...全文
172 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
winnowc 2014-12-19
  • 打赏
  • 举报
回复
strDown和strUp是两个鼠标的样式,相当于.cur格式的文件base64下。自己做拖动基本就是这个样子,MouseDown/MouseMove/MouseUp,只要和控件本身对鼠标事件的处理不冲突,都能这样拖。
tanta 2014-12-19
  • 打赏
  • 举报
回复
Cursor curUp = new Cursor(new System.IO.MemoryStream(Convert.FromBase64String(strUp))); Cursor curDown = new Cursor(new System.IO.MemoryStream(Convert.FromBase64String(strDown))); strup是base64编码过的byte数组。 我说这不是麻烦吗?为么不直接用byte[] ?
Sq-Zyz123 2014-12-19
  • 打赏
  • 举报
回复
up 1
bdmh 2014-12-19
  • 打赏
  • 举报
回复
这些文字表示图片的二进制,他会将他们转为可用的格式

111,095

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧