点击提交按钮时如何返回ListBox选中的选项?

问题描述 投票:0回答:1

我希望 ListBoxGetChoice() 函数在单击“提交”按钮时返回 ListBox1 选定的选项...

ListBoxGetChoice() {
  MyGui := Gui('AlwaysOnTop')
  MyGui.AddText(, 'Select your category')
  ListBox1 := MyGui.AddListBox('r6', ['Option1', 'Option2', 'Option3'])
  MyBtn1 := MyGui.AddButton('Default w80', 'Submit')
  MyGui.Show('w400')
  return ListBox1.Text ; This doesn't work
}
autohotkey
1个回答
0
投票

我将向您展示两种实现您想要的目标的方法。另请注意:将 ListBox1 定义为全局的选项只是必要的,因为您的 GUI 是在函数内创建的。

ListBoxGetChoice()
ListBoxGetChoice2()

ListBoxGetChoice() {
    Global listbox1 ;   Your gui is inside a function, so lets turn the listbox1 a global 
    MyGui := Gui('AlwaysOnTop')
    MyGui.AddText(, 'Select your category')
    listbox1 := MyGui.AddListBox('r6', ['Select Me Option1', 'Select Me Option2', 'Select Me Option3'])
    MyGui.AddButton('Default w80', 'Submit').OnEvent("Click", submit)   ;   call submit button function
    MyGui.Show('x0 y0 w400')

}

submit(ctrl,info)   {
    
    msgbox  listbox1.Text
}

;################

ListBoxGetChoice2() {
    MyGui := Gui('AlwaysOnTop')
    MyGui.AddText(, 'Select your category')
    MyGui.AddListBox('r6', ['Double Click Me Option1', 'Double Click Me Option2', 'Double Click Me Option3']).OnEvent("DoubleClick", listbox)   ; call on double click an item
    MyGui.AddButton('Default w80', 'Submit')
    MyGui.Show('x500 y0 w400')

}

listbox(ctrl,info)  {
    
    msgbox  ctrl.Text
}
© www.soinside.com 2019 - 2024. All rights reserved.