You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 10:45:10