Satyajeet B
Top achievements
Rank 1
Satyajeet B
asked on 21 Sep 2009, 08:32 AM
Hi there,
I am opening an already existing form in a dock host window.
How can i add Horizontal and Vertical scroll bars to new document host window.
FYI i have tried with the belwo code, but doesnt work.
I am opening an already existing form in a dock host window.
How can i add Horizontal and Vertical scroll bars to new document host window.
FYI i have tried with the belwo code, but doesnt work.
Dim
objForm As New Form
Dim hostWindow As HostWindow = RadDock1.DockControl(objForm , DockPosition.Right)
RadDock1.AddDocument((hostWindow), DockPosition.Fill)
'hostWindow.AutoScroll = True
hostWindow.HorizontalScroll.Enabled =
True
hostWindow.VerticalScroll.Enabled =
True
Thanks,
Satyajeet
7 Answers, 1 is accepted
0
Accepted
Hello Satyajeet B,
When you dock a form in a HostWindow this form gets its Dock property set to Fill. Please note that in .NET Windows Forms you cannot get the scrollbars of the container if its child control is Docked into it. So, if you want to get the scrollbars of the HostWindow, you first need to set the Dock property of the form to None and then set the AutoScroll property of the HostWindow to true.
If you have additional questions, feel free to contact me.
Kind regards,
Nikolay
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
When you dock a form in a HostWindow this form gets its Dock property set to Fill. Please note that in .NET Windows Forms you cannot get the scrollbars of the container if its child control is Docked into it. So, if you want to get the scrollbars of the HostWindow, you first need to set the Dock property of the form to None and then set the AutoScroll property of the HostWindow to true.
If you have additional questions, feel free to contact me.
Kind regards,
Nikolay
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Satyajeet B
Top achievements
Rank 1
answered on 25 Sep 2009, 06:24 AM
thanks Nikolay ......... it works fine.
0
Denis Cilliers
Top achievements
Rank 1
answered on 02 Nov 2012, 11:29 AM
Sry to bring this back up, how would you do this in code
My calling code looks like this atm, I loads the forms into the Dock no problem, but still no scrollbars
My calling code looks like this atm, I loads the forms into the Dock no problem, but still no scrollbars
Shared Sub dockForm(ByVal myform As Form) For Each currentdoc As DockWindow In frmMain.radDockMain.DockWindows If currentdoc.Controls.Count > 0 And currentdoc.Controls(0).Text.Equals(myform.Text) Then frmMain.radDockMain.ActiveWindow = currentdoc Exit Sub End If Next With myform .FormBorderStyle = FormBorderStyle.None .Dock = DockStyle.None .TopLevel = False '.AutoScroll = True End With 'Create a new host Dim hostWindow As HostWindow = frmMain.radDockMain.DockControl(myform, DockPosition.Right) 'Add the form Title to the document hostWindow.Text = myform.Text 'add to Dock frmMain.radDockMain.AddDocument(hostWindow, DockPosition.Fill) 'Set the ScrollBars hostWindow.HorizontalScroll.Enabled = True hostWindow.VerticalScroll.Enabled = True 'Set Active frmMain.radDockMain.ActiveWindow = hostWindow If Not myform.IsDisposed Then myform.Show() End If End Sub0
Hello Denis,
In order to get scrollbars that match the size of the form, you should set the MinimumSize and MaximumSize properties of the form in addition to the Size property. Last, but not least, in order to enable the scrollbars of the HostWindow now you just need to set the AutoScroll property to true. I am attaching a sample project that demonstrates the approach.
I hope this helps. Let me know if you have additional questions.
Greetings,
Nikolay
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
In order to get scrollbars that match the size of the form, you should set the MinimumSize and MaximumSize properties of the form in addition to the Size property. Last, but not least, in order to enable the scrollbars of the HostWindow now you just need to set the AutoScroll property to true. I am attaching a sample project that demonstrates the approach.
I hope this helps. Let me know if you have additional questions.
Greetings,
Nikolay
the Telerik team
Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
0
Denis Cilliers
Top achievements
Rank 1
answered on 07 Nov 2012, 09:41 AM
Hmm one issue with the code you sent
changing the setting from Fill to Top changes the way the Dock works
Top - Will allow the scroll bars to appear, but on enlarging the window the form size becomes apparent.
Thus if your form is too large for the size of the screen it works fine, but for smaller forms it does not
I would have to check the current size of the dock at adding time, as this Fill option seems to be the issue.
As docking the form using top will add the form and setup the bars, but not use the full space
Using Fill will use the full space, but chop off the forms that are larger, and not show scroll bars.
What you realy want is something in the middle. To use the full space, and to have the scroll bars
Maybe we can set the background of the dock to the same colour as the form?
changing the setting from Fill to Top changes the way the Dock works
'add to Dock frmMain.radDockMain.AddDocument(hostWindow, DockPosition.Fill)'To frmMain.radDockMain.AddDocument(hostWindow, DockPosition.Top)Top - Will allow the scroll bars to appear, but on enlarging the window the form size becomes apparent.
Thus if your form is too large for the size of the screen it works fine, but for smaller forms it does not
I would have to check the current size of the dock at adding time, as this Fill option seems to be the issue.
As docking the form using top will add the form and setup the bars, but not use the full space
Using Fill will use the full space, but chop off the forms that are larger, and not show scroll bars.
What you realy want is something in the middle. To use the full space, and to have the scroll bars
Maybe we can set the background of the dock to the same colour as the form?
0
Hello Denis,
Let me know if you have additional questions.Kind regards,
Nikolay
the Telerik team
Indeed, the best solution for this scenario would be to set the background color of the window that contains your form. This way it will not be apparent where the form ends. To do so, just set the BackColor of the HostWindow like so:
hostWindow.BackColor = Color.GreenLet me know if you have additional questions.Kind regards,
Nikolay
the Telerik team
0
Denis Cilliers
Top achievements
Rank 1
answered on 09 Nov 2012, 11:56 AM
Yep that works
the current version I added to the function is
This makes the two of them the same, and the user would thus think it is one form.
We loose the fill function, but I might just make that a setting for those forms that would use the full space
Thanks again
the current version I added to the function is
hostWindow.BackColor = myform.BackColorThis makes the two of them the same, and the user would thus think it is one form.
We loose the fill function, but I might just make that a setting for those forms that would use the full space
Thanks again