1.lv_obj_t *target lv_event_get_target(e);作用获取真正触发事件的底层子对象触发源含义弹窗msgbox内部包含标题文本、关闭叉号、多个按钮等子控件点击Continue按钮 →target 这个按钮对象点击Close按钮 →target Close按钮对象点击右上角蓝色关闭叉号 →target 叉号图标对象点击弹窗空白区域 →target 弹窗本体内部面板使用场景想区分用户到底点了弹窗里哪一个子控件时用它。2.lv_event_code_t code lv_event_get_code(e);作用获取本次触发的事件类型枚举值常见事件类型msgbox场景事件码含义LV_EVENT_CLICKED鼠标/触摸单击对象LV_EVENT_VALUE_CHANGED控件状态变更msgbox按下按钮专属事件LV_EVENT_PRESSING持续按住对象会高频循环触发你之前疯狂打印5就是这个LV_EVENT_RELEASED松开点击使用场景同一个回调绑定多种事件时通过code判断当前是什么操作分支处理逻辑。结合你弹窗的场景区分假设绑定事件给msgbox弹窗本体点Continue按钮lv_event_get_target(e)→ Continue按钮对象lv_event_get_code(e)→LV_EVENT_VALUE_CHANGED按钮切换选中点右上角关闭叉号lv_event_get_target(e)→ 关闭图标对象lv_event_get_code(e)→LV_EVENT_CLICKED鼠标长按弹窗空白处不动lv_event_get_target(e)→ 弹窗面板lv_event_get_code(e)→LV_EVENT_PRESSING持续刷新疯狂进回调打印5补充你之前打印65535的核心原因当事件码是LV_EVENT_CLICKED / LV_EVENT_PRESSING这类非按钮切换事件时lv_msgbox_get_active_btn(msgbox)无选中按钮返回0xFFFF65535 只有事件码 LV_EVENT_VALUE_CHANGED时函数才能正确读取按钮下标0/1。