我正在学习C#,并且正在尝试使用图片框创建自定义按钮。 我在项目资源PNG with 2-state images上插入了一张图片。
当图像以正常状态显示时,它显示PNG文件内的顶部图像,当鼠标进入图片框区域时,它应该在同一PNG上显示底部图像,但是我做错了,因为它显然是错误的保持静态。
我通过调用我创建的方法来初始化构造函数-BotOK_Normal();显示按钮的正常状态,代码如下所示。
private void BotOK_Normal()
{
private Image BotOK = Resources.BotOK;
Graphics desenhador = Graphics.FromImage(BotOK);
desenhador.DrawImage(BotOK,
new Rectangle(0, 0, 90, 36),
new Rectangle(0, 0, 90, 36),
GraphicsUnit.Pixel);
PB_BotOK.BackgroundImage = BotOK;
}
和方法BotOK_Hover()稍有变化,因为它必须从不同的坐标拾取底部图像
private void BotOK_Hover()
{
private Image BotOK = Resources.BotOK;
Graphics desenhador = Graphics.FromImage(BotOK);
desenhador.DrawImage(BotOK,
new Rectangle(0, 0, 90, 36),
new Rectangle(0, 36, 90, 36), //y changed
GraphicsUnit.Pixel);
PB_BotOK.BackgroundImage = BotOK;
}
我创建了2个与图片框相关的事件。
private void PB_BotOK_MouseEnter(object sender, EventArgs e)
{
BotOK_Hover();
}
private void PB_BotOK_MouseLeave(object sender, EventArgs e)
{
BotOK_Normal();
}
当我将鼠标悬停在图片框内时,什么都没有改变,我在做什么错了?
在此先感谢您为我提供的任何帮助。