I need to save/load the structure and dockpanels of my dockingmanager without using savexml and readxml.
I need some code like this:
save panels:
For Each d As DockPanel In DockingManager1.DockingSites(0).ManagedDockables
comando.Parameters.Clear()
comando.Parameters.Add(New SqlClient.SqlParameter("@Codigo", i))
comando.Parameters.Add(New SqlClient.SqlParameter("@CodigoVista", vista))
comando.Parameters.Add(New SqlClient.SqlParameter("@Indicador", i))
comando.Parameters.Add(New SqlClient.SqlParameter("@DockPosition", d.DockPosition))
comando.Parameters.Add(New SqlClient.SqlParameter("@Altura", d.Size.Height))
comando.Parameters.Add(New SqlClient.SqlParameter("@Largura", d.Size.Width))
comando.CommandText = "INSERT INTO TbPaineis (Codigo,CodigoVista,Indicador,DockPosition,Altura,Largura) VALUES(@Codigo,@CodigoVista,@Indicador,@DockPosition,@Altura,@Largura)"
If sqlConn.State <> ConnectionState.Open Then
sqlConn.Open()
End If
comando.ExecuteNonQuery()
i += 1
Next
load panels:
For Each d As Object In DockingManager1.DockingSites(0).ManagedDockables
DockingManager1.DockingSites(0).Remove(d)
Next
For Each dr As DataRow In dsVistas.Tables(0).Rows
Dim dock As New DockPanel
dock.Tag = dr("Codigo")
dock.Text = dr("Indicador")
DockingManager1.SuspendLayout()
dock.Size = New Size(dr("Largura"), dr("Altura"))
DockingManager1.ResumeLayout()
DockingManager1.SetDock(dock, dr("DockPosition"))
Next
I tried this code but the structure loaded is different from the saved one.
What is missing?
Thanks in advance.