複選按鈕的選擇??[已解決]
本帖最后由 jericho0711 于 2012-1-15 22:48 编辑AU3里面目前都是單選跟複選,如果有20個checkbox選擇在同一個頁面,左右各10個,有辦法限制左右只能勾選一個框框,不知有沒有這種方式.. 最好是 两两单选,避免多余的代码,
全部复选的话要写判断,繁琐一些 本帖最后由 netegg 于 2012-1-15 14:00 编辑
说明白什么情况,别这么提问,问的不清不楚,怎么回答
表达不在行,就上图 他的意思好像是10个复选框只能有一个勾选的吧 他的意思是
复选1复选2
复选3复选4
复选5 复选6
复选7 复选8
复选9 复选10
左右相邻的之能选一个,也就是说,10个框最多选5个
我是建议左右两个做成单选,是一组,共5组 晕,左右只能勾选一个干嘛不用单选的呢 应该就是 love5173 的意思,楼主也不出来吱一声
用两组单选就了,一个页面的要求 GUIStartGroup() 新手剛開始學GUI,左右各一排,左邊1、5、9只能點選1個,右邊2、6、10只能點選一個,點選完後按下start會執行各自對應的代碼。
圖片所示,點選框-5後,框1、9會變disable;點選框-6的話,框2、10會變disable
http://www.imagehut.us/image/324011-1.jpeg 用分组+单选框 ...
點選框-5後,框1、9會變disable;點選框-6的話,框2、10會變disable
...
jericho0711 发表于 2012-1-15 15:54 http://www.autoitx.com/images/common/back.gif
disable 后你想改变怎么办?如此不合理的想法… 为何不用单选框?这么多人的意见你都不听 disable 后你想改变怎么办?如此不合理的想法… 为何不用单选框?这么多人的意见你都不听
afan 发表于 2012-1-15 16:22 http://www.autoitx.com/images/common/back.gif
單選框是使用radio嗎,可以麻煩教學一下分組+單選框的方式嗎? #include <GUIConstantsEx.au3>
Example()
Func Example()
Local $msg
GUICreate("My GUI radio") ; will create a dialog box that when displ1--ayed is centered
Local $aRadio
GUICtrlCreateGroup('', 50, 50, 100, 150)
For $i = 0 To 2
$aRadio[$i] = GUICtrlCreateRadio($i, 50, $i * 50 + 50, 100, 20)
Next
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup('', 50, 150, 100, 150)
For $i = 3 To 5
$aRadio[$i] = GUICtrlCreateRadio($i, 200, $i * 50 + 50, 100, 20)
Next
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState() ; will display andialog box with 1 checkbox
; Run the GUI until the dialog is closed
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
#cs
Case $msg = $radio1 And BitAND(GUICtrlRead($radio1), $GUI_CHECKED) = $GUI_CHECKED
MsgBox(64, 'Info:', 'You clicked the Radio 1 and it is Checked.')
Case $msg = $radio2 And BitAND(GUICtrlRead($radio2), $GUI_CHECKED) = $GUI_CHECKED
MsgBox(64, 'Info:', 'You clicked on Radio 2 and it is Checked.')
#ce
EndSelect
WEnd
EndFunc ;==>Example
写的比较乱,lz自己想想吧 写了个简单又完整点的#Include <GuiButton.au3>
GUICreate('分组单选框例子 by afan')
Local $Radio, $L = 1, $R = 5
$Radio = GUICtrlCreateRadio('dgsdgfgsdg', 30, 30 * 1 - 15)
$Radio = GUICtrlCreateRadio('gjgsfsfg', 30, 30 * 2 - 15)
$Radio = GUICtrlCreateRadio('lkhjlhjljhlffgfw', 30, 30 * 3 - 15)
GUIStartGroup()
$Radio = GUICtrlCreateRadio('gfjt86rgn', 200, 30 * 1 - 15)
$Radio = GUICtrlCreateRadio('ulku6856784h', 200, 30 * 2 - 15)
$Radio = GUICtrlCreateRadio('nghjgk', 200, 30 * 3 - 15)
GuiCtrlSetState($Radio[$L], 1)
GuiCtrlSetState($Radio[$R], 1)
$Button = GUICtrlCreateButton('读取或执行', 100, 300, 150, 20)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
Case $Radio To $Radio
$L = $nMsg - 3
Case $Radio To $Radio
$R = $nMsg - 3
Case $Button
MsgBox(0, '选中了', _GUICtrlButton_GetText($Radio[$L]) & @LF & _
_GUICtrlButton_GetText($Radio[$R]))
_Go($L)
_Go($R)
EndSwitch
WEnd
Func _Go($iX)
Switch $iX
Case 0
MsgBox(0, '', '执行左1任务')
Case 1
MsgBox(0, '', '执行左2任务')
Case 2
MsgBox(0, '', '执行左3任务')
Case 3
MsgBox(0, '', '执行右1任务')
Case 4
MsgBox(0, '', '执行右2任务')
Case 5
MsgBox(0, '', '执行右3任务')
EndSwitch
EndFunc
写了个简单又完整点的
afan 发表于 2012-1-15 17:18 http://www.autoitx.com/images/common/back.gif
感謝了,真的很完整,試了一下很符合,需要花點時間研究一下,才剛剛開始GUI的練習.... 回复 13# afan
以前还没做过分组的学习了!
页:
[1]