求解释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 ”之后的代码。 展开
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 ”之后的代码。 展开
2个回答
展开全部
上面三个是鼠标事件,第一个鼠标点击的事件,第二个是鼠标移动的事件,第三个是鼠标点击完毕后的事件。
实际的效果我建议你创建个winform程序,里面放一个PictureBox控件,针对这个控件设置事件。
看上面的代码应该是鼠标改变这个控件位置的。
第一个事件,鼠标点击获取当前坐标
第二个事件,按住鼠标进行拖动改变控件位置
第三个事件,放开鼠标,给当前控制重新赋值
实际的效果我建议你创建个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轴的值,再加控件顶距的值
展开全部
pictureBox1在MouseDown(鼠标按下)时记录当前的鼠标位置。
pictureBox1在MouseMove(鼠标移动)时把pictureBox1移动到这个位置。
pictureBox1在MouseUp(鼠标弹起)时把pictureBox1移动到这个位置。
说白了就是可以用鼠标拖动pictureBox1, 并显示移动轨迹。
pictureBox1在MouseMove(鼠标移动)时把pictureBox1移动到这个位置。
pictureBox1在MouseUp(鼠标弹起)时把pictureBox1移动到这个位置。
说白了就是可以用鼠标拖动pictureBox1, 并显示移动轨迹。
追问
我知道是拖动控件的代码,但是我看不懂每个事件里面的代码
追答
我说的就是每个事件里的代码呀。
if 那个就是判断当前鼠标按键是否是左键。e 是当前鼠标状态,e.X 横坐标,e.Y 纵坐标。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |