這個其實蠻好想的。。。
思路就是用PictureBox的鼠標滾輪事件實現對PictureBox大小的改變。
當然,就是別忘了一點,如果直接寫MouseWheel事件是不行的,因爲如果把鼠標放在pictureBox上時,當前焦點是窗體,而不是pictureBox,所以還要加一個MouseEnter事件
對於滾輪事件有一點,就是用e.Delta的數值正負來判斷鼠標滾輪的方向。而觸發事件的數值一般都是正負120。
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 PictureBoxDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void pictureBox1_MouseEnter(object sender, EventArgs e)//當鼠標移到pictuBox內,獲取焦點
{
pictureBox1.Focus();
}
private void pictureBox1_MouseWheel(object sender,MouseEventArgs e)
{
if (e.Delta>=0)
{
pictureBox1.Width = (int)(pictureBox1.Width * 1.1);//因爲Widthh和Height都是int類型,所以要強制轉換一下-_-||
pictureBox1.Height = (int)(pictureBox1.Height * 1.1);
}
else
{
pictureBox1.Width = (int)(pictureBox1.Width * 0.9);
pictureBox1.Height = (int)(pictureBox1.Height * 0.9);
}
}
}
}
當然,這個pictureBox1是我提前放在窗體內的,所以可以用pictureBox1.focus(),如果不知道變量名的話,有個方法就是自己寫一個類來繼承PictureBox,然後用this.focus()就行了