我正在制作一个简单的程序,当用户与之交互时它会更改按钮的图像。当计算机鼠标进入按钮内部时,图像会突出显示,当鼠标单击时,图像会变暗,当鼠标离开按钮时,图像会变得正常。为了实现这种行为,我正在更改 3 个图像之间的按钮图像,但是当我单击按钮并显示模态控件(例如 MessageBox)时,当它从 MessageBox 返回时,按钮中的图像仍然是“里面的鼠标” " 图像,但是鼠标已经不在按钮上了……所以我认为 button1_MouseLeave 事件没有上升,但我不明白为什么以及如何修复它……你们能帮我解决这个问题吗?我使用的代码很简单:
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 teste1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_MouseLeave(object sender, EventArgs e)
{
button1.Image = ((System.Drawing.Image)(Properties.Resources.Botao_Del_Normal));
}
private void button1_MouseEnter(object sender, EventArgs e)
{
button1.Image = ((System.Drawing.Image)(Properties.Resources.Botao_Del_Claro));
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Test");
}
private void button1_MouseDown(object sender, MouseEventArgs e)
{
button1.Image = ((System.Drawing.Image)(Properties.Resources.Botao_Del_Clique));
}
private void button1_MouseUp(object sender, MouseEventArgs e)
{
button1.Image = ((System.Drawing.Image)(Properties.Resources.Botao_Del_Claro));
}
}
}