我在PictureBox中添加了一个gif,当窗体加载时,我禁用了PictureBox以停止播放gif。然后,当我将光标悬停在PictureBox上时,我想使PictureBox开始播放gif,但它不播放gif。
为什么我不能启用PictureBox并在鼠标悬停时播放GIF,我如何解决这个问题?
代码:
private void MainPage_Load(object sender, EventArgs e)
{
pictureBox1.Enabled = false;
}
private void pictureBox1_MouseHover(object sender, EventArgs e)
{
pictureBox1.Enabled = true;
}
private void pictureBox1_MouseLeave(object sender, EventArgs e)
{
pictureBox1.Enabled = false;
}
2条答案
按热度按时间pprl5pva1#
当控件被禁用时,该控件将不接收鼠标事件,而是由其父控件接收。
因此,在本例中,您可以处理父节点的
MouseHover
事件,查看鼠标位置是否在PictureBox
的边界内,然后启用它。举个例子。假设图片框的父框是以下形式:
除了禁用和启用
PictureBox
以启动或停止gif动画之外,还可以通过调用私有void Animate(bool animate)方法启用或禁用动画的另一个选项:然后在不禁用控制的情况下:
ny6fqffe2#
答对了!!!