求解释C#中的这些代码!

intmove;intmove01;privatevoidpictureBox1_MouseDown(objectsender,MouseEventArgse){if(e... int move;
int move01;

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
move = e.X;
move01 = e.Y;
}
}

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.pictureBox1.Left = e.X - move + this.pictureBox1.Left;
this.pictureBox1.Top = e.Y - move01 + this.pictureBox1.Top;
}
}

private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.pictureBox1.Left = e.X - move + this.pictureBox1.Left;
this.pictureBox1.Top = e.Y - move01 + this.pictureBox1.Top;
}

回答时请用注释符号在代码相应的位置写好...谢谢了!
**请解释每个事件里面代码的意思,就是“ if ”之后的代码。
展开
 我来答
hey112233
2014-05-07 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:129
采纳率:100%
帮助的人:101万
展开全部
上面三个是鼠标事件,第一个鼠标点击的事件,第二个是鼠标移动的事件,第三个是鼠标点击完毕后的事件。

实际的效果我建议你创建个winform程序,里面放一个PictureBox控件,针对这个控件设置事件。

看上面的代码应该是鼠标改变这个控件位置的。

第一个事件,鼠标点击获取当前坐标
第二个事件,按住鼠标进行拖动改变控件位置
第三个事件,放开鼠标,给当前控制重新赋值
追问
我知道是拖动控件的代码,但是我看不懂每个事件里面的代码
追答
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
}

这句话的意思是,判断当前点击鼠标的是不是左键,如果是执行里面的代码

move = e.X; 记录当前鼠标X轴的位置
move01 = e.Y; 记录当前鼠标Y轴的位置

this.pictureBox1.Left = e.X - move + this.pictureBox1.Left;给控件左边距赋值,赋值为当前鼠标X轴位置减按下鼠标X轴值,再加控件左边距的值
this.pictureBox1.Top = e.Y - move01 + this.pictureBox1.Top;给控件顶距赋值,赋值为当前鼠标Y轴位置减按下鼠标Y轴的值,再加控件顶距的值
然后去远足
2014-05-07 · TA获得超过1万个赞
知道大有可为答主
回答量:4016
采纳率:83%
帮助的人:2448万
展开全部
pictureBox1在MouseDown(鼠标按下)时记录当前的鼠标位置。

pictureBox1在MouseMove(鼠标移动)时把pictureBox1移动到这个位置。

pictureBox1在MouseUp(鼠标弹起)时把pictureBox1移动到这个位置。

说白了就是可以用鼠标拖动pictureBox1, 并显示移动轨迹。
追问
我知道是拖动控件的代码,但是我看不懂每个事件里面的代码
追答
我说的就是每个事件里的代码呀。

if 那个就是判断当前鼠标按键是否是左键。e 是当前鼠标状态,e.X 横坐标,e.Y 纵坐标。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式