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

点击Submit按钮时,如何让ListBoxGetChoice()函数返回ListBox选中项?

修复ListBoxGetChoice函数以返回选中项

原代码的问题在于,GUI显示后立刻执行return ListBox1.Text,此时用户还未进行选择和点击操作,返回的是ListBox的初始值,无法得到用户最终选择的内容。

你需要通过等待用户交互完成后再获取选中项来实现需求,以下是修复后的代码:

ListBoxGetChoice() {
  selectedChoice := ""
  MyGui := Gui('AlwaysOnTop')
  MyGui.AddText(, 'Select your category')
  ListBox1 := MyGui.AddListBox('r6', ['Option1', 'Option2', 'Option3'])
  MyBtn1 := MyGui.AddButton('Default w80', 'Submit')
  
  ; 绑定Submit按钮的点击事件:存储选中项并关闭GUI
  MyBtn1.OnEvent("Click", (*) => (selectedChoice := ListBox1.Text, MyGui.Destroy()))
  
  MyGui.Show('w400')
  MyGui.Wait() ; 等待GUI关闭后再返回值
  return selectedChoice
}

代码说明:

  • 定义selectedChoice变量用于存储用户最终选择的内容
  • 给Submit按钮添加点击事件,触发时将ListBox的选中文本赋值给变量,并销毁GUI
  • 使用MyGui.Wait()暂停函数执行,直到GUI关闭,确保获取到用户的选择后再返回

内容的提问来源于stack exchange,提问作者Slava

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:12:07