1. 界面设计
pictureBox 调整好大小(不要用dock 属性),sizemode 用 zoom
/// <summary>
/// //picturebox滚轮放大
/// </summary>
private bool isMove = false;
private Point mousePos;
private bool XZ_expend = false;
private bool YZ_expend = false;
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
pictureBox1.MouseWheel += PictureBox1_MouseWheel;
}
private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
this.pictureBox1.Focus();
isMove = true;
mousePos = new Point(e.X, e.Y);
if (e.Button == MouseButtons.Left)
{
XZ_expend = true;
}
else if (e.Button == MouseButtons.Right)
{
YZ_expend = true;
}
}
private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
this.isMove = false;
XZ_expend = false;
YZ_expend = false ;
}
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
if (this.isMove)
{
if ((pictureBox1.Location.Y - mousePos.Y + e.Y) > 0 && (pictureBox1.Location.X - mousePos.X + e.X) > 0)
{
pictureBox1.Location = new Point(pictureBox1.Location.X - mousePos.X + e.X, pictureBox1.Location.Y - mousePos.Y + e.Y);
}
}
}
private void PictureBox1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (XZ_expend == true)
{
if (e.Delta > 0)
{
this.pictureBox1.Width = this.pictureBox1.Width * 9 / 10;
}
else
{
this.pictureBox1.Width = this.pictureBox1.Width * 11 / 10;
}
}
else if (YZ_expend == true)
{
if (e.Delta > 0)
{
this.pictureBox1.Height = this.pictureBox1.Height * 9 / 10;
}
else
{
this.pictureBox1.Height = this.pictureBox1.Height * 11 / 10;
}
}
else
{
if (e.Delta > 0)
{
this.pictureBox1.Width = this.pictureBox1.Width * 9 / 10;
this.pictureBox1.Height = this.pictureBox1.Height * 9 / 10;
}
else
{
this.pictureBox1.Width = this.pictureBox1.Width * 11 / 10;
this.pictureBox1.Height = this.pictureBox1.Height * 11 / 10;
}
}
}
按住鼠标左键横轴放大,按住鼠标右键纵轴放大。