В случае винформ:
Если вы включите изображения в свои ресурсы, вы можете сделать это следующим образом, очень просто и прямо:
public Form1()
{
InitializeComponent();
button1.MouseEnter += new EventHandler(button1_MouseEnter);
button1.MouseLeave += new EventHandler(button1_MouseLeave);
}
void button1_MouseLeave(object sender, EventArgs e)
{
this.button1.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.img1));
}
void button1_MouseEnter(object sender, EventArgs e)
{
this.button1.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.img2));
}
Я бы не рекомендовал жестко кодировать пути к изображениям.
Как вы изменили свой вопрос ...
В winforms afaik нет (on) MouseOver, есть события MouseHover и MouseMove, но если вы измените изображение на них, оно не изменится обратно, так что MouseEnter + MouseLeave - это то, что вы ищете, я думаю. В любом случае, изменение изображения при наведении или перемещении:
in the constructor:
button1.MouseHover += new EventHandler(button1_MouseHover);
button1.MouseMove += new MouseEventHandler(button1_MouseMove);
void button1_MouseMove(object sender, MouseEventArgs e)
{
this.button1.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.img2));
}
void button1_MouseHover(object sender, EventArgs e)
{
this.button1.BackgroundImage = ((System.Drawing.Image)(Properties.Resources.img2));
}
Чтобы добавить изображения к вашим ресурсам: Projectproperties / resources / add / существующий файл