To help you better we need some information from you.
*** Please fill in the fields below. If you leave fields empty or specify 'latest' rather than the actual version your answer will be delayed as we will be forced to ask you for this information. ***
Product, version and build: PowerShell Studio 2018 v5.5.148
32 or 64 bit version of product: 64 bit
Operating system: Win 10
32 or 64 bit OS: 64 bit
*** Please add details and screenshots as needed below. ***
DO NOT POST SUBSCRIPTIONS, KEYS OR ANY OTHER LICENSING INFORMATION IN THIS FORUM
Treeview control reverts all icons from imglist back to default 0 index icon when PS Studio is closed and the project is reopened. This also happened in the last version of PS Studio 2017. Am I missing a setting or something to get the property changes to stick?
Treeview control reverts all icons from imglist back to default 0 index icon
Forum rules
DO NOT POST LICENSE NUMBERS, ACTIVATION KEYS OR ANY OTHER LICENSING INFORMATION IN THIS FORUM.
Only the original author and our tech personnel can reply to a topic that is created in this forum. If you find a topic that relates to an issue you are having, please create a new topic and reference the other in your post.
Any code longer than three lines should be added as code using the 'Select Code' dropdown menu or attached as a file.
DO NOT POST LICENSE NUMBERS, ACTIVATION KEYS OR ANY OTHER LICENSING INFORMATION IN THIS FORUM.
Only the original author and our tech personnel can reply to a topic that is created in this forum. If you find a topic that relates to an issue you are having, please create a new topic and reference the other in your post.
Any code longer than three lines should be added as code using the 'Select Code' dropdown menu or attached as a file.
Treeview control reverts all icons from imglist back to default 0 index icon
- Attachments
-
- TreeviewIcon1.PNG (272.48 KiB) Viewed 4602 times
-
- TreeviewIcon2.PNG (267.23 KiB) Viewed 4602 times
Re: Treeview control reverts all icons from imglist back to default 0 index icon
We are investigating this issue and will post as soon as we have any updates.
David
SAPIEN Technologies, Inc.
SAPIEN Technologies, Inc.
Re: Treeview control reverts all icons from imglist back to default 0 index icon
Not sure if this helps the investigation or if it is by design or not but the other thing that is odd is with the imagelist itself. When I initially added the images they showed with their file names in the collection. The imagelist no longer shows the file names. I've tried to re-add them and remove the ones that show as system.drawing.bitmap and the end result is always the same.
- Attachments
-
- ImageList.PNG (44.57 KiB) Viewed 4575 times
Re: Treeview control reverts all icons from imglist back to default 0 index icon
It seems the .NET serializer for the TreeNodes does not save the ImageIndex. We are looking at finding an alternative solution.
The ImageList issue also has do with the .NET serialization process.
The ImageList issue also has do with the .NET serialization process.
David
SAPIEN Technologies, Inc.
SAPIEN Technologies, Inc.
Re: Treeview control reverts all icons from imglist back to default 0 index icon
Also seeing an issue with the splitter control. I have 2 Splitter controls. Splitter 2 is in Pane 2 of Splitter 1 so I can get a 3 panel form. The SplitterWidth property keeps defaulting to 4. I change it to 2 and resize all the child controls that are affected by the change, save it and when I close and reopen PS Studio and open the project it is 4 again and all the child controls have been reverted back.
Re: Treeview control reverts all icons from imglist back to default 0 index icon
Can you create a simple form illustrating the issue and attach it to this topic?
Thank you,
Thank you,
David
SAPIEN Technologies, Inc.
SAPIEN Technologies, Inc.
Re: Treeview control reverts all icons from imglist back to default 0 index icon
The problem is there isn't really anything simple about it. I wish there was. so background on how the form works. Treeview is generated with the main form. middle splitter and right splitter have a panel control in each. when a treeview item is clicked the controls in the panels are dynamically created.
##############################################################################################
#----------------------------------------------
#Main Form Panel - Recipient Configuration Layout
#----------------------------------------------
###############################################
Function Layout_MainFormPanelRecipConfig() {
#----------------------------------------------
#region Generated RecipConfig Main Panel Objects
#----------------------------------------------
$Script:dgvMainPnlDataRslt = New-Object 'System.Windows.Forms.DataGridView'
$Script:lblDataGridViewMsg = New-Object 'System.Windows.Forms.Label'
$Script:hdrSrchMainPanel = New-Object 'System.Windows.Forms.Panel'
$Script:btnMainPnlStopLoading = New-Object 'System.Windows.Forms.Button'
$Script:btnMainPnlClr = New-Object 'System.Windows.Forms.Button'
$Script:btnMainPnlFindNow = New-Object 'System.Windows.Forms.Button'
$Script:txtMainPnlSearch = New-Object 'System.Windows.Forms.TextBox'
$Script:lblObjSearch = New-Object 'System.Windows.Forms.Label'
$Script:hdrMainPanel = New-Object 'System.Windows.Forms.Panel'
$Script:lblHdrMainPanelObjects = New-Object 'System.Windows.Forms.Label'
$Script:lblHdrMainPanelDesc = New-Object 'System.Windows.Forms.Label'
#endregion Generated RecipConfig Main Panel Objects
#----------------------------------------------
#region Generated RecipConfig Main Panel Code
#----------------------------------------------
$pnlMainInfo.Controls.Clear()
#
# pnlMainInfo
#
$pnlMainInfo.Controls.Add($dgvMainPnlDataRslt)
$pnlMainInfo.Controls.Add($hdrSrchMainPanel)
$pnlMainInfo.Controls.Add($hdrMainPanel)
#
# dgvMainPnlDataRslt
#
$dgvMainPnlDataRslt.Controls.Add($lblDataGridViewMsg)
$dgvMainPnlDataRslt.AllowUserToAddRows = $False
$dgvMainPnlDataRslt.AllowUserToDeleteRows = $False
$dgvMainPnlDataRslt.AllowUserToResizeColumns = $True
$dgvMainPnlDataRslt.AllowUserToResizeRows = $False
$dgvMainPnlDataRslt.AlternatingRowsDefaultCellStyle.BackColor = 'InactiveBorder'
$dgvMainPnlDataRslt.Anchor = 'Top, Bottom, Left, Right'
#$dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
#$dgvMainPnlDataRslt.AutoSizeColumnsMode = 'AllCells'
#$dgvMainPnlDataRslt.AutoSizeColumnsMode = 'ColumnHeader'
$dgvMainPnlDataRslt.AutoSizeColumnsMode = 'DisplayedCells'
#$dgvMainPnlDataRslt.AutoSizeRowsMode = 'DisplayedCells'
$dgvMainPnlDataRslt.BackgroundColor = 'Window'
$dgvMainPnlDataRslt.BorderStyle = 'Fixed3D'
$dgvMainPnlDataRslt.CellBorderStyle = 'None'
$dgvMainPnlDataRslt.ClipboardCopyMode = 'EnableAlwaysIncludeHeaderText'
$dgvMainPnlDataRslt.ColumnHeadersDefaultCellStyle.Font = 'Segoe UI, 8.25pt'
$dgvMainPnlDataRslt.ColumnHeadersDefaultCellStyle.WrapMode = "False"
$dgvMainPnlDataRslt.ColumnHeadersHeightSizeMode = 'AutoSize'
$dgvMainPnlDataRslt.EnableHeadersVisualStyles = $False
$dgvMainPnlDataRslt.Font = 'Segoe UI, 9pt'
$dgvMainPnlDataRslt.Location = '0, 56'
$dgvMainPnlDataRslt.Margin = '0, 0, 0, 0'
$dgvMainPnlDataRslt.MultiSelect = $False
$dgvMainPnlDataRslt.Name = 'dgvMainPnlDataRslt'
$dgvMainPnlDataRslt.Padding = '0,0,0,0'
$dgvMainPnlDataRslt.ReadOnly = $True
$dgvMainPnlDataRslt.RowHeadersBorderStyle = 'None'
$dgvMainPnlDataRslt.RowHeadersVisible = $False
$dgvMainPnlDataRslt.RowTemplate.Height = 18
$dgvMainPnlDataRslt.SelectionMode = "FullRowSelect"
$dgvMainPnlDataRslt.Size = '692, 558'
$dgvMainPnlDataRslt.TabIndex = 3
$dgvMainPnlDataRslt.Add_DoubleClick({ActionsPanel_OpenProperties}) #Action_dgvMainPnlDataRsltOpenProperties
$dgvMainPnlDataRslt.Add_SelectionChanged({dgvMainPnlDataRslt_SelectionChanged}) #dgvMainPnlDataRslt_SelectionChanged
#
# lblDataGridViewMsg
#
$lblDataGridViewMsg.Anchor = 'Top, Left, Right'
$lblDataGridViewMsg.AutoSize = $False
$lblDataGridViewMsg.Font = 'Segoe UI, 9.25pt'
$lblDataGridViewMsg.Location = '8, 44'
$lblDataGridViewMsg.Margin = '0, 0, 0, 0'
$lblDataGridViewMsg.Name = 'lblDataGridViewMsg'
$lblDataGridViewMsg.Size = '888, 18'
$lblDataGridViewMsg.TabIndex = 0
$lblDataGridViewMsg.Text = 'There are no items to show in this view.'
$lblDataGridViewMsg.TextAlign = 'MiddleCenter'
$lblDataGridViewMsg.UseCompatibleTextRendering = $True
#
# hdrSrchMainPanel
#
$hdrSrchMainPanel.Controls.Add($btnMainPnlStopLoading)
$hdrSrchMainPanel.Controls.Add($btnMainPnlClr)
$hdrSrchMainPanel.Controls.Add($btnMainPnlFindNow)
$hdrSrchMainPanel.Controls.Add($txtMainPnlSearch)
$hdrSrchMainPanel.Controls.Add($lblObjSearch)
$hdrSrchMainPanel.Anchor = 'Top, Left, Right'
$hdrSrchMainPanel.BackColor = 'Control'
$hdrSrchMainPanel.Location = '0, 24'
$hdrSrchMainPanel.Margin = '0, 0, 0, 0'
$hdrSrchMainPanel.Name = 'hdrSrchMainPanel'
$hdrSrchMainPanel.Size = '692, 32'
$hdrSrchMainPanel.TabIndex = 2
#
# btnMainPnlStopLoading
#
$btnMainPnlStopLoading.Anchor = 'Top, Right'
$btnMainPnlStopLoading.FlatAppearance.BorderSize = 0
$btnMainPnlStopLoading.FlatAppearance.MouseDownBackColor = 'GradientActiveCaption'
$btnMainPnlStopLoading.FlatAppearance.MouseOverBackColor = 'GradientInactiveCaption'
$btnMainPnlStopLoading.FlatStyle = 'Flat'
$btnMainPnlStopLoading.Font = 'Segoe UI, 9pt'
$btnMainPnlStopLoading.ImageAlign = 'MiddleLeft'
$btnMainPnlStopLoading.ImageIndex = 0
$btnMainPnlStopLoading.ImageList = $imglstSysBtnAnimLoad
$btnMainPnlStopLoading.Location = '586, 6'
$btnMainPnlStopLoading.Margin = '0, 0, 0, 0'
$btnMainPnlStopLoading.Name = 'btnMainPnlStopLoading'
$btnMainPnlStopLoading.Size = '102, 22'
$btnMainPnlStopLoading.TabIndex = 4
$btnMainPnlStopLoading.Text = 'Stop Loading'
$btnMainPnlStopLoading.TextImageRelation = 'ImageBeforeText'
$btnMainPnlStopLoading.UseCompatibleTextRendering = $True
$btnMainPnlStopLoading.UseVisualStyleBackColor = $True
$btnMainPnlStopLoading.Visible = $False
$btnMainPnlStopLoading.Add_Click({btnMainPnlStopLoading_Click}) #btnMainPnlStopLoading_Click
#
# btnMainPnlClr
#
$btnMainPnlClr.Anchor = 'Top, Right'
$btnMainPnlClr.Enabled = $False
$btnMainPnlClr.FlatAppearance.BorderSize = 0
$btnMainPnlClr.FlatAppearance.MouseDownBackColor = 'GradientActiveCaption'
$btnMainPnlClr.FlatAppearance.MouseOverBackColor = 'GradientInactiveCaption'
$btnMainPnlClr.FlatStyle = 'Flat'
$btnMainPnlClr.Font = 'Segoe UI, 9pt'
$btnMainPnlClr.Location = '364, 6'
$btnMainPnlClr.Margin = '0, 0, 0, 0'
$btnMainPnlClr.Name = 'btnMainPnlClr'
$btnMainPnlClr.Size = '42, 22'
$btnMainPnlClr.TabIndex = 3
$btnMainPnlClr.Text = 'Clear'
$btnMainPnlClr.UseCompatibleTextRendering = $True
$btnMainPnlClr.UseVisualStyleBackColor = $True
$btnMainPnlClrToolTip.SetToolTip($btnMainPnlClr, 'Clear query text.')
$btnMainPnlClr.Add_Click({btnMainPnlClr_Click}) #btnMainPnlClr_Click
#
# btnMainPnlFindNow
#
$btnMainPnlFindNow.Anchor = 'Top, Right'
$btnMainPnlFindNow.Enabled = $False
$btnMainPnlFindNow.FlatAppearance.BorderSize = 0
$btnMainPnlFindNow.FlatAppearance.MouseDownBackColor = 'GradientActiveCaption'
$btnMainPnlFindNow.FlatAppearance.MouseOverBackColor = 'GradientInactiveCaption'
$btnMainPnlFindNow.FlatStyle = 'Flat'
$btnMainPnlFindNow.Font = 'Segoe UI, 9pt'
$btnMainPnlFindNow.Location = '298, 6'
$btnMainPnlFindNow.Margin = '0, 0, 0, 0'
$btnMainPnlFindNow.Name = 'btnMainPnlFindNow'
$btnMainPnlFindNow.Size = '66, 22'
$btnMainPnlFindNow.TabIndex = 2
$btnMainPnlFindNow.Text = 'Find Now'
$btnMainPnlFindNow.UseCompatibleTextRendering = $True
$btnMainPnlFindNow.UseVisualStyleBackColor = $True
$btnMainPnlFindNowToolTip.SetToolTip($btnMainPnlFindNow, 'Find objects that match the specified filter.')
$btnMainPnlFindNow.Add_Click({btnMainPnlFindNow_Click}) #btnMainPnlFindNow_Click
#
# txtMainPnlSearch
#
$txtMainPnlSearch.Anchor = 'Top, Left, Right'
$txtMainPnlSearch.AutoSize = $False
$txtMainPnlSearch.Font = 'Segoe UI, 9pt'
$txtMainPnlSearch.Location = '58, 6'
$txtMainPnlSearch.Margin = '0, 0, 0, 0'
$txtMainPnlSearch.Name = 'txtMainPnlSearch'
$txtMainPnlSearch.Size = '240, 20'
$txtMainPnlSearch.TabIndex = 1
$txtMainPnlSearch.Add_TextChanged({txtMainPnlSearch_TextChanged}) #txtMainPnlSearch_TextChanged
#
# lblObjSearch
#
$lblObjSearch.Anchor = 'Top, Left'
$lblObjSearch.AutoSize = $False
$lblObjSearch.Font = 'Segoe UI, 9pt'
$lblObjSearch.Location = '10, 8'
$lblObjSearch.Margin = '0, 0, 0, 0'
$lblObjSearch.Name = 'lblObjSearch'
$lblObjSearch.Size = '48, 18'
$lblObjSearch.TabIndex = 0
$lblObjSearch.Text = 'Search:'
$lblObjSearch.TextAlign = 'MiddleLeft'
$lblObjSearch.UseCompatibleTextRendering = $True
#
# hdrMainPanel
#
$hdrMainPanel.Anchor = 'Top, Left, Right'
$hdrMainPanel.Controls.Add($lblHdrMainPanelObjects)
$hdrMainPanel.Controls.Add($lblHdrMainPanelDesc)
$hdrMainPanel.Anchor = 'Top, Left, Right'
$hdrMainPanel.BackColor = 'AppWorkspace'
$hdrMainPanel.Location = '0, 0'
$hdrMainPanel.Margin = '0, 0, 0, 0'
$hdrMainPanel.Name = 'hdrMainPanel'
$hdrMainPanel.Size = '692, 24'
$hdrMainPanel.TabIndex = 1
#
# lblHdrMainPanelObjects
#
$lblHdrMainPanelObjects.Anchor = 'Top, Right'
$lblHdrMainPanelObjects.Font = 'Segoe UI, 9.25pt'
$lblHdrMainPanelObjects.ForeColor = 'HighlightText'
$lblHdrMainPanelObjects.Location = '592, 0'
$lblHdrMainPanelObjects.Margin = '0, 0, 0, 0'
$lblHdrMainPanelObjects.Name = 'lblHdrMainPanelObjects'
$lblHdrMainPanelObjects.Padding = '0, 0, 4, 0'
$lblHdrMainPanelObjects.Size = '100, 24'
$lblHdrMainPanelObjects.TabIndex = 1
$lblHdrMainPanelObjects.Text = "$objCount Objects"
$lblHdrMainPanelObjects.TextAlign = 'MiddleRight'
$lblHdrMainPanelObjects.UseCompatibleTextRendering = $True
#
# lblHdrMainPanelDesc
#
$lblHdrMainPanelDesc.Anchor = 'Top, Left, Right'
$lblHdrMainPanelDesc.AutoSize = $False
$lblHdrMainPanelDesc.Font = 'Segoe UI, 9.25pt, style=Bold'
$lblHdrMainPanelDesc.ForeColor = 'HighlightText'
$lblHdrMainPanelDesc.ImageAlign = 'MiddleLeft'
$lblHdrMainPanelDesc.ImageIndex = $intTrvSelMainPnl
$lblHdrMainPanelDesc.ImageList = $imglstTreeView
$lblHdrMainPanelDesc.Location = '0, 0'
$lblHdrMainPanelDesc.Margin = '0, 0, 0, 0'
$lblHdrMainPanelDesc.Name = 'lblHdrMainPanelDesc'
$lblHdrMainPanelDesc.Padding = '4, 0, 0, 0'
$lblHdrMainPanelDesc.Size = '582, 24'
$lblHdrMainPanelDesc.TabIndex = 0
$lblHdrMainPanelDesc.Text = $txtTrvSelMainPnl
$lblHdrMainPanelDesc.TextAlign = 'MiddleLeft'
$lblHdrMainPanelDesc.UseCompatibleTextRendering = $True
$lblHdrMainPanelDesc.UseMnemonic = $False
#endregion Generated RecipConfig Main Panel Code
#----------------------------------------------
#region Set DatGridView Column Headers
#----------------------------------------------
If($varSelectedNode -eq "UsrsEXO") {
Action_CreateTable -Name "UsrsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,External Email Address,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #UsrsEXO
} ElseIf($varSelectedNode -eq "ActUsrsEXO") {
Action_CreateTable -Name "ActUsrsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #ActUsrsEXO
} ElseIf($varSelectedNode -eq "ContsEXO") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "ContsEXO" -Columns "NetID,Display Name,Alias,Recipient Type Details,Organizational Unit,External Email Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #ContsEXO
} ElseIf($varSelectedNode -eq "MailUsrsEXO") {
Action_CreateTable -Name "MailUsrsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,External Email Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #MailUsrsEXO
} ElseIf($varSelectedNode -eq "DisUsrsEXO") {
Action_CreateTable -Name "DisUsrsEXO" -Columns "NetID,Display Name,ActiveSync Enabled,OWA Enabled,Pop Enabled,Imap Enabled,MAPI Enabled,Ews Enabled"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #DisUsrsEXO
} ElseIf($varSelectedNode -eq "GrpsEXO") {
Action_CreateTable -Name "GrpsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #GrpsEXO
} ElseIf($varSelectedNode -eq "DistGrpsEXO") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "DistGrpsEXO" -Columns "NetID,Display Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #DistGrpsEXO
} ElseIf($varSelectedNode -eq "DynDistGrpsEXO") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "DynDistGrpsEXO" -Columns "NetID,Display Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #DynDistGrpsEXO
} ElseIf($varSelectedNode -eq "UniGrpsEXO") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "UniGrpsEXO" -Columns "NetID,Display Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #UniGrpsEXO
} ElseIf($varSelectedNode -eq "SharedEXO") {
Action_CreateTable -Name "SharedEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #SharedEXO
} ElseIf($varSelectedNode -eq "ResEXO") {
Action_CreateTable -Name "ResEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #ResEXO
} ElseIf($varSelectedNode -eq "RoomsEXO") {
Action_CreateTable -Name "RoomsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #RoomsEXO
} ElseIf($varSelectedNode -eq "EquipEXO") {
Action_CreateTable -Name "EquipEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #EquipEXO
} ElseIf($varSelectedNode -eq "EvntVacEXO") {
Action_CreateTable -Name "EvntVacEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #EvntVacEXO
} ElseIf($varSelectedNode -eq "RemMbxUsrsEXOP") {
Action_CreateTable -Name "RemMbxUsrsEXOP" -Columns "NetID,Display Name,User Principal Name,Remote Routing Address,Alias,Recipient Type Details,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #RemMbxUsrsEXOP
} ElseIf($varSelectedNode -eq "UnLicUsrsEXOP") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "UnLicUsrsEXOP" -Columns "NetID,Display Name,User Principal Name,When Created"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #UnLicUsrsEXOP
}
#endregion Set DatGridView Column Headers
}
I resize the splitterwidth to 2 and it creates the gap on the right of the middle panel and the off centered controls in the action panel. I use find and replace and other techniques to fix all the controls and when I reopen the project it set back to 4 again and i have to go through the exercise of resizing everything even though i have the anchors set on the datagridview it does not resize correctly when the form is maximized either.
This is the function that gets called to build the middle panel similar functions get called to change the far right actions panel depending on the treeview selection.##############################################################################################
#----------------------------------------------
#Main Form Panel - Recipient Configuration Layout
#----------------------------------------------
###############################################
Function Layout_MainFormPanelRecipConfig() {
#----------------------------------------------
#region Generated RecipConfig Main Panel Objects
#----------------------------------------------
$Script:dgvMainPnlDataRslt = New-Object 'System.Windows.Forms.DataGridView'
$Script:lblDataGridViewMsg = New-Object 'System.Windows.Forms.Label'
$Script:hdrSrchMainPanel = New-Object 'System.Windows.Forms.Panel'
$Script:btnMainPnlStopLoading = New-Object 'System.Windows.Forms.Button'
$Script:btnMainPnlClr = New-Object 'System.Windows.Forms.Button'
$Script:btnMainPnlFindNow = New-Object 'System.Windows.Forms.Button'
$Script:txtMainPnlSearch = New-Object 'System.Windows.Forms.TextBox'
$Script:lblObjSearch = New-Object 'System.Windows.Forms.Label'
$Script:hdrMainPanel = New-Object 'System.Windows.Forms.Panel'
$Script:lblHdrMainPanelObjects = New-Object 'System.Windows.Forms.Label'
$Script:lblHdrMainPanelDesc = New-Object 'System.Windows.Forms.Label'
#endregion Generated RecipConfig Main Panel Objects
#----------------------------------------------
#region Generated RecipConfig Main Panel Code
#----------------------------------------------
$pnlMainInfo.Controls.Clear()
#
# pnlMainInfo
#
$pnlMainInfo.Controls.Add($dgvMainPnlDataRslt)
$pnlMainInfo.Controls.Add($hdrSrchMainPanel)
$pnlMainInfo.Controls.Add($hdrMainPanel)
#
# dgvMainPnlDataRslt
#
$dgvMainPnlDataRslt.Controls.Add($lblDataGridViewMsg)
$dgvMainPnlDataRslt.AllowUserToAddRows = $False
$dgvMainPnlDataRslt.AllowUserToDeleteRows = $False
$dgvMainPnlDataRslt.AllowUserToResizeColumns = $True
$dgvMainPnlDataRslt.AllowUserToResizeRows = $False
$dgvMainPnlDataRslt.AlternatingRowsDefaultCellStyle.BackColor = 'InactiveBorder'
$dgvMainPnlDataRslt.Anchor = 'Top, Bottom, Left, Right'
#$dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
#$dgvMainPnlDataRslt.AutoSizeColumnsMode = 'AllCells'
#$dgvMainPnlDataRslt.AutoSizeColumnsMode = 'ColumnHeader'
$dgvMainPnlDataRslt.AutoSizeColumnsMode = 'DisplayedCells'
#$dgvMainPnlDataRslt.AutoSizeRowsMode = 'DisplayedCells'
$dgvMainPnlDataRslt.BackgroundColor = 'Window'
$dgvMainPnlDataRslt.BorderStyle = 'Fixed3D'
$dgvMainPnlDataRslt.CellBorderStyle = 'None'
$dgvMainPnlDataRslt.ClipboardCopyMode = 'EnableAlwaysIncludeHeaderText'
$dgvMainPnlDataRslt.ColumnHeadersDefaultCellStyle.Font = 'Segoe UI, 8.25pt'
$dgvMainPnlDataRslt.ColumnHeadersDefaultCellStyle.WrapMode = "False"
$dgvMainPnlDataRslt.ColumnHeadersHeightSizeMode = 'AutoSize'
$dgvMainPnlDataRslt.EnableHeadersVisualStyles = $False
$dgvMainPnlDataRslt.Font = 'Segoe UI, 9pt'
$dgvMainPnlDataRslt.Location = '0, 56'
$dgvMainPnlDataRslt.Margin = '0, 0, 0, 0'
$dgvMainPnlDataRslt.MultiSelect = $False
$dgvMainPnlDataRslt.Name = 'dgvMainPnlDataRslt'
$dgvMainPnlDataRslt.Padding = '0,0,0,0'
$dgvMainPnlDataRslt.ReadOnly = $True
$dgvMainPnlDataRslt.RowHeadersBorderStyle = 'None'
$dgvMainPnlDataRslt.RowHeadersVisible = $False
$dgvMainPnlDataRslt.RowTemplate.Height = 18
$dgvMainPnlDataRslt.SelectionMode = "FullRowSelect"
$dgvMainPnlDataRslt.Size = '692, 558'
$dgvMainPnlDataRslt.TabIndex = 3
$dgvMainPnlDataRslt.Add_DoubleClick({ActionsPanel_OpenProperties}) #Action_dgvMainPnlDataRsltOpenProperties
$dgvMainPnlDataRslt.Add_SelectionChanged({dgvMainPnlDataRslt_SelectionChanged}) #dgvMainPnlDataRslt_SelectionChanged
#
# lblDataGridViewMsg
#
$lblDataGridViewMsg.Anchor = 'Top, Left, Right'
$lblDataGridViewMsg.AutoSize = $False
$lblDataGridViewMsg.Font = 'Segoe UI, 9.25pt'
$lblDataGridViewMsg.Location = '8, 44'
$lblDataGridViewMsg.Margin = '0, 0, 0, 0'
$lblDataGridViewMsg.Name = 'lblDataGridViewMsg'
$lblDataGridViewMsg.Size = '888, 18'
$lblDataGridViewMsg.TabIndex = 0
$lblDataGridViewMsg.Text = 'There are no items to show in this view.'
$lblDataGridViewMsg.TextAlign = 'MiddleCenter'
$lblDataGridViewMsg.UseCompatibleTextRendering = $True
#
# hdrSrchMainPanel
#
$hdrSrchMainPanel.Controls.Add($btnMainPnlStopLoading)
$hdrSrchMainPanel.Controls.Add($btnMainPnlClr)
$hdrSrchMainPanel.Controls.Add($btnMainPnlFindNow)
$hdrSrchMainPanel.Controls.Add($txtMainPnlSearch)
$hdrSrchMainPanel.Controls.Add($lblObjSearch)
$hdrSrchMainPanel.Anchor = 'Top, Left, Right'
$hdrSrchMainPanel.BackColor = 'Control'
$hdrSrchMainPanel.Location = '0, 24'
$hdrSrchMainPanel.Margin = '0, 0, 0, 0'
$hdrSrchMainPanel.Name = 'hdrSrchMainPanel'
$hdrSrchMainPanel.Size = '692, 32'
$hdrSrchMainPanel.TabIndex = 2
#
# btnMainPnlStopLoading
#
$btnMainPnlStopLoading.Anchor = 'Top, Right'
$btnMainPnlStopLoading.FlatAppearance.BorderSize = 0
$btnMainPnlStopLoading.FlatAppearance.MouseDownBackColor = 'GradientActiveCaption'
$btnMainPnlStopLoading.FlatAppearance.MouseOverBackColor = 'GradientInactiveCaption'
$btnMainPnlStopLoading.FlatStyle = 'Flat'
$btnMainPnlStopLoading.Font = 'Segoe UI, 9pt'
$btnMainPnlStopLoading.ImageAlign = 'MiddleLeft'
$btnMainPnlStopLoading.ImageIndex = 0
$btnMainPnlStopLoading.ImageList = $imglstSysBtnAnimLoad
$btnMainPnlStopLoading.Location = '586, 6'
$btnMainPnlStopLoading.Margin = '0, 0, 0, 0'
$btnMainPnlStopLoading.Name = 'btnMainPnlStopLoading'
$btnMainPnlStopLoading.Size = '102, 22'
$btnMainPnlStopLoading.TabIndex = 4
$btnMainPnlStopLoading.Text = 'Stop Loading'
$btnMainPnlStopLoading.TextImageRelation = 'ImageBeforeText'
$btnMainPnlStopLoading.UseCompatibleTextRendering = $True
$btnMainPnlStopLoading.UseVisualStyleBackColor = $True
$btnMainPnlStopLoading.Visible = $False
$btnMainPnlStopLoading.Add_Click({btnMainPnlStopLoading_Click}) #btnMainPnlStopLoading_Click
#
# btnMainPnlClr
#
$btnMainPnlClr.Anchor = 'Top, Right'
$btnMainPnlClr.Enabled = $False
$btnMainPnlClr.FlatAppearance.BorderSize = 0
$btnMainPnlClr.FlatAppearance.MouseDownBackColor = 'GradientActiveCaption'
$btnMainPnlClr.FlatAppearance.MouseOverBackColor = 'GradientInactiveCaption'
$btnMainPnlClr.FlatStyle = 'Flat'
$btnMainPnlClr.Font = 'Segoe UI, 9pt'
$btnMainPnlClr.Location = '364, 6'
$btnMainPnlClr.Margin = '0, 0, 0, 0'
$btnMainPnlClr.Name = 'btnMainPnlClr'
$btnMainPnlClr.Size = '42, 22'
$btnMainPnlClr.TabIndex = 3
$btnMainPnlClr.Text = 'Clear'
$btnMainPnlClr.UseCompatibleTextRendering = $True
$btnMainPnlClr.UseVisualStyleBackColor = $True
$btnMainPnlClrToolTip.SetToolTip($btnMainPnlClr, 'Clear query text.')
$btnMainPnlClr.Add_Click({btnMainPnlClr_Click}) #btnMainPnlClr_Click
#
# btnMainPnlFindNow
#
$btnMainPnlFindNow.Anchor = 'Top, Right'
$btnMainPnlFindNow.Enabled = $False
$btnMainPnlFindNow.FlatAppearance.BorderSize = 0
$btnMainPnlFindNow.FlatAppearance.MouseDownBackColor = 'GradientActiveCaption'
$btnMainPnlFindNow.FlatAppearance.MouseOverBackColor = 'GradientInactiveCaption'
$btnMainPnlFindNow.FlatStyle = 'Flat'
$btnMainPnlFindNow.Font = 'Segoe UI, 9pt'
$btnMainPnlFindNow.Location = '298, 6'
$btnMainPnlFindNow.Margin = '0, 0, 0, 0'
$btnMainPnlFindNow.Name = 'btnMainPnlFindNow'
$btnMainPnlFindNow.Size = '66, 22'
$btnMainPnlFindNow.TabIndex = 2
$btnMainPnlFindNow.Text = 'Find Now'
$btnMainPnlFindNow.UseCompatibleTextRendering = $True
$btnMainPnlFindNow.UseVisualStyleBackColor = $True
$btnMainPnlFindNowToolTip.SetToolTip($btnMainPnlFindNow, 'Find objects that match the specified filter.')
$btnMainPnlFindNow.Add_Click({btnMainPnlFindNow_Click}) #btnMainPnlFindNow_Click
#
# txtMainPnlSearch
#
$txtMainPnlSearch.Anchor = 'Top, Left, Right'
$txtMainPnlSearch.AutoSize = $False
$txtMainPnlSearch.Font = 'Segoe UI, 9pt'
$txtMainPnlSearch.Location = '58, 6'
$txtMainPnlSearch.Margin = '0, 0, 0, 0'
$txtMainPnlSearch.Name = 'txtMainPnlSearch'
$txtMainPnlSearch.Size = '240, 20'
$txtMainPnlSearch.TabIndex = 1
$txtMainPnlSearch.Add_TextChanged({txtMainPnlSearch_TextChanged}) #txtMainPnlSearch_TextChanged
#
# lblObjSearch
#
$lblObjSearch.Anchor = 'Top, Left'
$lblObjSearch.AutoSize = $False
$lblObjSearch.Font = 'Segoe UI, 9pt'
$lblObjSearch.Location = '10, 8'
$lblObjSearch.Margin = '0, 0, 0, 0'
$lblObjSearch.Name = 'lblObjSearch'
$lblObjSearch.Size = '48, 18'
$lblObjSearch.TabIndex = 0
$lblObjSearch.Text = 'Search:'
$lblObjSearch.TextAlign = 'MiddleLeft'
$lblObjSearch.UseCompatibleTextRendering = $True
#
# hdrMainPanel
#
$hdrMainPanel.Anchor = 'Top, Left, Right'
$hdrMainPanel.Controls.Add($lblHdrMainPanelObjects)
$hdrMainPanel.Controls.Add($lblHdrMainPanelDesc)
$hdrMainPanel.Anchor = 'Top, Left, Right'
$hdrMainPanel.BackColor = 'AppWorkspace'
$hdrMainPanel.Location = '0, 0'
$hdrMainPanel.Margin = '0, 0, 0, 0'
$hdrMainPanel.Name = 'hdrMainPanel'
$hdrMainPanel.Size = '692, 24'
$hdrMainPanel.TabIndex = 1
#
# lblHdrMainPanelObjects
#
$lblHdrMainPanelObjects.Anchor = 'Top, Right'
$lblHdrMainPanelObjects.Font = 'Segoe UI, 9.25pt'
$lblHdrMainPanelObjects.ForeColor = 'HighlightText'
$lblHdrMainPanelObjects.Location = '592, 0'
$lblHdrMainPanelObjects.Margin = '0, 0, 0, 0'
$lblHdrMainPanelObjects.Name = 'lblHdrMainPanelObjects'
$lblHdrMainPanelObjects.Padding = '0, 0, 4, 0'
$lblHdrMainPanelObjects.Size = '100, 24'
$lblHdrMainPanelObjects.TabIndex = 1
$lblHdrMainPanelObjects.Text = "$objCount Objects"
$lblHdrMainPanelObjects.TextAlign = 'MiddleRight'
$lblHdrMainPanelObjects.UseCompatibleTextRendering = $True
#
# lblHdrMainPanelDesc
#
$lblHdrMainPanelDesc.Anchor = 'Top, Left, Right'
$lblHdrMainPanelDesc.AutoSize = $False
$lblHdrMainPanelDesc.Font = 'Segoe UI, 9.25pt, style=Bold'
$lblHdrMainPanelDesc.ForeColor = 'HighlightText'
$lblHdrMainPanelDesc.ImageAlign = 'MiddleLeft'
$lblHdrMainPanelDesc.ImageIndex = $intTrvSelMainPnl
$lblHdrMainPanelDesc.ImageList = $imglstTreeView
$lblHdrMainPanelDesc.Location = '0, 0'
$lblHdrMainPanelDesc.Margin = '0, 0, 0, 0'
$lblHdrMainPanelDesc.Name = 'lblHdrMainPanelDesc'
$lblHdrMainPanelDesc.Padding = '4, 0, 0, 0'
$lblHdrMainPanelDesc.Size = '582, 24'
$lblHdrMainPanelDesc.TabIndex = 0
$lblHdrMainPanelDesc.Text = $txtTrvSelMainPnl
$lblHdrMainPanelDesc.TextAlign = 'MiddleLeft'
$lblHdrMainPanelDesc.UseCompatibleTextRendering = $True
$lblHdrMainPanelDesc.UseMnemonic = $False
#endregion Generated RecipConfig Main Panel Code
#----------------------------------------------
#region Set DatGridView Column Headers
#----------------------------------------------
If($varSelectedNode -eq "UsrsEXO") {
Action_CreateTable -Name "UsrsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,External Email Address,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #UsrsEXO
} ElseIf($varSelectedNode -eq "ActUsrsEXO") {
Action_CreateTable -Name "ActUsrsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #ActUsrsEXO
} ElseIf($varSelectedNode -eq "ContsEXO") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "ContsEXO" -Columns "NetID,Display Name,Alias,Recipient Type Details,Organizational Unit,External Email Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #ContsEXO
} ElseIf($varSelectedNode -eq "MailUsrsEXO") {
Action_CreateTable -Name "MailUsrsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,External Email Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #MailUsrsEXO
} ElseIf($varSelectedNode -eq "DisUsrsEXO") {
Action_CreateTable -Name "DisUsrsEXO" -Columns "NetID,Display Name,ActiveSync Enabled,OWA Enabled,Pop Enabled,Imap Enabled,MAPI Enabled,Ews Enabled"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #DisUsrsEXO
} ElseIf($varSelectedNode -eq "GrpsEXO") {
Action_CreateTable -Name "GrpsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #GrpsEXO
} ElseIf($varSelectedNode -eq "DistGrpsEXO") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "DistGrpsEXO" -Columns "NetID,Display Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #DistGrpsEXO
} ElseIf($varSelectedNode -eq "DynDistGrpsEXO") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "DynDistGrpsEXO" -Columns "NetID,Display Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #DynDistGrpsEXO
} ElseIf($varSelectedNode -eq "UniGrpsEXO") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "UniGrpsEXO" -Columns "NetID,Display Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #UniGrpsEXO
} ElseIf($varSelectedNode -eq "SharedEXO") {
Action_CreateTable -Name "SharedEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #SharedEXO
} ElseIf($varSelectedNode -eq "ResEXO") {
Action_CreateTable -Name "ResEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #ResEXO
} ElseIf($varSelectedNode -eq "RoomsEXO") {
Action_CreateTable -Name "RoomsEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #RoomsEXO
} ElseIf($varSelectedNode -eq "EquipEXO") {
Action_CreateTable -Name "EquipEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #EquipEXO
} ElseIf($varSelectedNode -eq "EvntVacEXO") {
Action_CreateTable -Name "EvntVacEXO" -Columns "NetID,Display Name,User Principal Name,Alias,Recipient Type Details,Organizational Unit,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #EvntVacEXO
} ElseIf($varSelectedNode -eq "RemMbxUsrsEXOP") {
Action_CreateTable -Name "RemMbxUsrsEXOP" -Columns "NetID,Display Name,User Principal Name,Remote Routing Address,Alias,Recipient Type Details,Primary Smtp Address"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #RemMbxUsrsEXOP
} ElseIf($varSelectedNode -eq "UnLicUsrsEXOP") {
$Script:dgvMainPnlDataRslt.AutoSizeColumnsMode = 'Fill'
Action_CreateTable -Name "UnLicUsrsEXOP" -Columns "NetID,Display Name,User Principal Name,When Created"
Load_DataGridView -DataGridView $dgvMainPnlDataRslt -Data $tblObj #UnLicUsrsEXOP
}
#endregion Set DatGridView Column Headers
}
I resize the splitterwidth to 2 and it creates the gap on the right of the middle panel and the off centered controls in the action panel. I use find and replace and other techniques to fix all the controls and when I reopen the project it set back to 4 again and i have to go through the exercise of resizing everything even though i have the anchors set on the datagridview it does not resize correctly when the form is maximized either.
Re: Treeview control reverts all icons from imglist back to default 0 index icon
it wouldn't let me add this to the other post
Re: Treeview control reverts all icons from imglist back to default 0 index icon
Please attach the original psf instead of posting the code or upload it here:
https://www.sapien.com/support/upload
Is the gridView control located inside another container such as a Panel?
https://www.sapien.com/support/upload
Is the gridView control located inside another container such as a Panel?
David
SAPIEN Technologies, Inc.
SAPIEN Technologies, Inc.
Re: Treeview control reverts all icons from imglist back to default 0 index icon
done, and answered your question in the upload comments. thanks for all your help with this