Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk
 - od firmy Arkance Systems [www.cadforum.cz slaví 20 let]
CZ | SK | EN | DE
Přihlášení
či registrace
  právě nás čte: 8743

CAD tip CAD tip # 13880:

   
Otázka CAD 
 %  platforma  kategorie 
Q - otázka

Vícenásobný výběr položek v iLogic formuláři Inventoru.

A - odpověď Uživatelské formuláře v iLogic makrech Inventoru standardně neumožňují výběr více položek najednou. Chování standardního dialogu InputListbox vycházejícího ze systémových dialogů Windows si ale můžete upravit a doplnit možnost vícenásobného výběru.

multiselect, multiple selection

Položky vybíráte a výběr rušíte prostým kliknutím myší. Pokud je položek hodně a preferujete vícenásobný výběr se stiskem Ctrl nebo Shift, zvolte metodu MultiExtended naznačenou v kódu makra.

Příklad nově vytvořené definice formuláře MultiSelectListBox a příklad jeho použití najdete v následujícím iLogic předpisu:

'multi-selection form for iLogic (www.cadforum.cz)
Sub Main
	'set the selection options
	Dim oList As New List(Of String) From {"Option 1", "Option 2", "Option 3", "Option 4" }
	'or: oList.Add("Option 5")
	'perform multiselect
	Dim SelectedItems As List(Of String) = MultiSelectListBox("Select multiple", oList, Nothing, "Multi-Select InputListBox", "Option list")
	'process selection(s)
	If SelectedItems.Count > 0 Then
		sSelections = ""
		For Each Item In SelectedItems
			sSelections = sSelections & vbCrLf & Item.ToString
		Next
		MessageBox.Show("You selected: " & sSelections, "Selected", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
	Else
		MessageBox.Show("Nothing was selected", "No selection", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
	End If
End Sub

Function MultiSelectListBox(Optional Instruct As String = vbNullString,
				Optional Items As List(Of String) = Nothing,
				Optional DefaultVal As Object = Nothing,
				Optional Title As String = vbNullString,
				Optional ListName As String = vbNullString) As List(Of String)
	Using oILBD As New Autodesk.iLogic.Runtime.InputListBoxDialog(Title, ListName, Instructions, Items, DefaultVal)
		Dim oLB As System.Windows.Forms.ListBox = oILBD.Controls.Item(0).Controls.Item(2)
		oLB.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple ' or MultiExtended (shift-select)
		Dim oDlgResult As System.Windows.Forms.DialogResult = oILBD.ShowDialog()
		Dim oSelected As List(Of String) = oLB.SelectedItems.Cast(Of String).ToList
		Return oSelected
	End Using
End Function
Inventor
100% *  CAD 
8.10.2023    967×   Expert
dialog font ilogic inventor
 
Související CAD produkty:
Ceny - CAD eShop:
platí pro: Inventor ·

Zpět   Všechny další tipy



Pomohl vám tento tip? Provoz služby CADForum.cz podpoříte i nákupem produktů Autodesk u provozovatele tohoto serveru a Platinum partnera Autodesku, firmy Arkance Systems.
Můžete si také přidat odkaz na vaše stránky: CAD Fórum - diskuze, tipy, bloky a utility
CAD:    OS:    Kateg: 
Text:  FAQ   






Tipy a triky prosím využívejte na vlastní zodpovědnost.
Provozovatel (Arkance Systems CZ s.r.o.) nenese odpovědnost za případné potíže vzniklé v souvislosti s použitím kteréhokoliv z uvedených tipů.
Pro plné zvládnutí dané aplikace doporučujeme absolvování některého z nabízených CAD školení.
Další publikování obsahu je dovoleno jen se souhlasem autora.
TOPlist