ListView Data Winform

Hi,
an example with a CheckListBox

example select all UI

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
5 Likes