请教,这段图片移动代码哪里出问题了。 图片不能移动。 图片移动 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 p1 = p1+new Size(e.X -p2.X,e.Y-p2.Y); p3 = p1+new Size(e.X -p2.X,e.Y-p2.Y); p1 = p3; 看不懂你这是在干啥第一句白赋值了此外,目测根本没有引发Form1_Paint事件 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace picture_move{ public partial class Form1 : Form { Bitmap bmp; bool b; Point p1, p2; Size sz; Graphics gp; public Form1() { InitializeComponent(); bmp = new Bitmap(@".\a.jpg"); b = false; p1 = new Point(10, 10); sz = new Size(bmp.Width, bmp.Height); gp = this.CreateGraphics(); } private void Form1_Paint(object sender, PaintEventArgs e) { } private void Form1_MouseDown(object sender, MouseEventArgs e) { if (!b) { b = true; p1 = new Point(e.X, e.Y); } } private void Form1_MouseUp(object sender, MouseEventArgs e) { if (b) { b = false; } gp.Clear(Color.White); gp.DrawImage(bmp, p1); } private void Form1_MouseMove(object sender, MouseEventArgs e) { if (b) { Point p3; Invalidate(new Rectangle(p1, sz)); p1 = p1 + new Size(e.X - p2.X, e.Y - p2.Y); p3 = p1 + new Size(e.X - p2.X, e.Y - p2.Y); p1 = p3; Invalidate(new Rectangle(p1, sz)); } } private void Form1_Load(object sender, EventArgs e) { } }} 第一句应该没白赋值……嗯,确实,实际上就是p1=p1+new Size(e.X -p2.X,e.Y-p2.Y)+new Size(e.X -p2.X,e.Y-p2.Y); listview不显示内容 关于DataGridView如何根据条件显示不同的东西 AspNetPager 存储过程绑定 翻页无效 动态生成按钮以及生产按钮事件 windows服务,如何单线程运行? 无法安装VS.NET 多线程的问题? 一个小问题.VB.NET中 "dim fb" 用C#定义怎么写? 请问哪位大哥知道哪儿有比较好的日历控件下载 急急急!!!分分分!!!C#的WEBForm界面如何继承的问题? 正则 批量 提取 手机号 Linq 问题??
p3 = p1+new Size(e.X -p2.X,e.Y-p2.Y);
p1 = p3;
看不懂你这是在干啥
第一句白赋值了此外,目测根本没有引发Form1_Paint事件
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace picture_move
{
public partial class Form1 : Form
{
Bitmap bmp;
bool b;
Point p1, p2;
Size sz;
Graphics gp; public Form1()
{
InitializeComponent();
bmp = new Bitmap(@".\a.jpg");
b = false;
p1 = new Point(10, 10);
sz = new Size(bmp.Width, bmp.Height);
gp = this.CreateGraphics();
} private void Form1_Paint(object sender, PaintEventArgs e)
{
} private void Form1_MouseDown(object sender, MouseEventArgs e)
{
if (!b)
{
b = true;
p1 = new Point(e.X, e.Y);
}
} private void Form1_MouseUp(object sender, MouseEventArgs e)
{
if (b)
{
b = false;
}
gp.Clear(Color.White);
gp.DrawImage(bmp, p1);
} private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (b)
{
Point p3;
Invalidate(new Rectangle(p1, sz)); p1 = p1 + new Size(e.X - p2.X, e.Y - p2.Y);
p3 = p1 + new Size(e.X - p2.X, e.Y - p2.Y); p1 = p3;
Invalidate(new Rectangle(p1, sz));
}
} private void Form1_Load(object sender, EventArgs e)
{ }
}
}
第一句应该没白赋值……
嗯,确实,实际上就是
p1=p1+new Size(e.X -p2.X,e.Y-p2.Y)+new Size(e.X -p2.X,e.Y-p2.Y);