我正试图在winforms应用程序中实现一个图像按钮,因为我可以......使用asp.net时很容易 问题似乎是(我怀疑)当鼠标在图片框内的图像上方时 它没有响应或没有触发mouseEnter事件
看起来如果我的图片小于pictureBox大小,它会接受触发事件的原因,但是在pictureBox中的图像上它不会吗?
诀窍是将pictureBox设置为sizeMode = zoom。当鼠标悬停在“imageButton”上时再做两件事:将PictureBox的大小更大一点+将光标更改为手
所以我会用asp.net
获得一种鼠标效果有没有人有这个问题? 起初我试过mouseHover,然后我认为输入会做得更好,因为它只需要鼠标通过图片框的边框...进入和悬停事件对我来说都不起作用...
修改:
事件确实触发,我可以看到,如果我最初将sizemode设置为CenterImage并在事件内部 我要求sizemode = zoom,所以效果剂量发生..但cursor.current = Cursors.Hand不会改变。
答案 0 :(得分:12)
这应该有效
private void pictureBox1_MouseEnter(object sender, EventArgs e)
{
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Cursor = Cursors.Hand;
}
private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
pictureBox1.Cursor = Cursors.Default;
}
答案 1 :(得分:1)
似乎我应该更好地了解如何使用Cursors类。
cursor=Cursors.hand;
而不是
cursor.current=Cursors.hand;
令人尴尬..
答案 2 :(得分:1)
仅在pictureBox上添加MouseMove事件并为此
设置Cursor
private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
pictureBox1.Cursor = Cursors.Hand;
}