C#如何实现PictureBox按住鼠标换图、松开后恢复原图片功能
C# PictureBox 鼠标状态联动图片切换实现
问题核心
你当前的代码把MouseDown和MouseUp事件的图片赋值逻辑写反了:
- 鼠标按下(
MouseDown事件触发)时,应该设置为按下状态的图片 - 鼠标松开(
MouseUp事件触发)时,恢复为正常状态的图片
修正后代码
// MouseDown 事件:鼠标按下时触发 private void pictureBox2_Down(object sender, MouseEventArgs e) { pictureBox2.Image = Properties.Resources.test_voice_button_pressed; } // MouseUp 事件:鼠标松开时触发 private void pictureBox2_Up(object sender, MouseEventArgs e) { pictureBox2.Image = Properties.Resources.test_voice_button_normal; say("Hi, im Dude, your smart assistant"); }
额外注意事项
- 确认项目资源管理器中两张图片的资源名称和代码里调用的名称完全一致,避免资源找不到报错
- 如果需要适配鼠标移出控件范围后自动恢复正常状态的场景,可以额外绑定
MouseLeave事件,逻辑和MouseUp一致,设置为正常状态图片即可
内容的提问来源于stack exchange,提问作者Arash
相关产品推荐
相关产品推荐

