Hi,
an example with a CheckListBox
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')
import System.Drawing
import System.Windows.Forms
from System.Drawing import *
from System.Windows.Forms import *
class Form24(Form):
def __init__(self, lstSchedule):
self._lstSchedule = lstSchedule
self.out = []
self.InitializeComponent()
def InitializeComponent(self):
self._checkedListBox1 = System.Windows.Forms.CheckedListBox()
self._checkBoxSelectAll = System.Windows.Forms.CheckBox()
self._button1 = System.Windows.Forms.Button()
self.SuspendLayout()
#
# checkedListBox1
#
self._checkedListBox1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right
self._checkedListBox1.FormattingEnabled = True
self._checkedListBox1.CheckOnClick = True
self._checkedListBox1.Location = System.Drawing.Point(12, 30)
self._checkedListBox1.Name = "checkedListBox1"
self._checkedListBox1.DataSource = self._lstSchedule
#self._checkedListBox1.Items.AddRange(System.Array[System.Object](self._lstSchedule))
self._checkedListBox1.DisplayMember = "Name"
self._checkedListBox1.Size = System.Drawing.Size(260, 244)
self._checkedListBox1.TabIndex = 0
#
# checkBoxSelectAll
#
self._checkBoxSelectAll.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left
self._checkBoxSelectAll.Location = System.Drawing.Point(12, 291)
self._checkBoxSelectAll.Name = "checkBoxSelectAll"
self._checkBoxSelectAll.Size = System.Drawing.Size(104, 24)
self._checkBoxSelectAll.TabIndex = 1
self._checkBoxSelectAll.Text = "Select All"
self._checkBoxSelectAll.UseVisualStyleBackColor = True
self._checkBoxSelectAll.CheckedChanged += self.CheckBoxSelectAllCheckedChanged
#
# button1
#
self._button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right
self._button1.Location = System.Drawing.Point(191, 289)
self._button1.Name = "button1"
self._button1.Size = System.Drawing.Size(75, 27)
self._button1.TabIndex = 2
self._button1.Text = "OK"
self._button1.UseVisualStyleBackColor = True
self._button1.Click += self.Button1Click
#
# Form24
#
self.ClientSize = System.Drawing.Size(284, 334)
self.Controls.Add(self._button1)
self.Controls.Add(self._checkBoxSelectAll)
self.Controls.Add(self._checkedListBox1)
self.Name = "Form24"
self.Text = "Form24"
self.ResumeLayout(False)
def CheckBoxSelectAllCheckedChanged(self, sender, e):
for i in range(self._checkedListBox1.Items.Count):
self._checkedListBox1.SetItemChecked(i, sender.Checked)
def Button1Click(self, sender, e):
self.out = self._checkedListBox1.CheckedItems
self.Close()
toList = lambda x : x if hasattr(x, '__iter__') else [x]
#Preparing input from dynamo to revit
lstSchedules = toList(UnwrapElement(IN[0]))
objForm = Form24(lstSchedules)
objForm.ShowDialog()
OUT = objForm.out