Solved

How to make a usercontrol topmost (over the borders of it´s container)

Posted on 2010-09-13
17
1,003 Views
Last Modified: 2013-11-27
i have a usercontrol that behaves like a datetimepicker control. that means it can be dropped down. when i place it in the lower part of a groupbox and click on my usercontrol to show the calender, it is shown only from the top to the lowerborder of the groupbox. how can i have my control displayed  in the foreground (bringtofront() is not working by the way)

regards frank
0
Comment
Question by:michelsf
  • 8
  • 5
  • 3
  • +1
17 Comments
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
Comment Utility
this is something have to do with the anchor or the dock...
you can use
Me.GroupBox1.Controls.Add(UserControl)
        UserCOntrol.Dock = DockStyle.Top
0
 
LVL 7

Expert Comment

by:klakkas
Comment Utility
When you place a control within a groupbox, only the part within the groupbox bounds will be visible. It is the same as having a control that is larger than the containing form: only the part of the form will be visible.

The only workaround I can think of is to use the Groupbox.parent property to get to the parent control and place your popup there.

For example:
Dim popup as new control

popup.left += GroupBox.left
popup.top += groupbox.top

groupbox.parent.controls.add (popup)

0
 

Author Comment

by:michelsf
Comment Utility
sorry, anchor has no effect. dockstyle.top is not suitable for me. regrads frank
0
 

Author Comment

by:michelsf
Comment Utility
klakkas: thanky you for your idea, but that is not suitable for me.

but i do not agree with youwhat concerns the controls. e.g. the dropdownpart of a comboboxcontol can even be shown outside the bounds of the hole form !!! there must  be some kind of solution for my problem without moving the control. regrads frank
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
Comment Utility
ok try this and play with the dimenssions then
GroupBox1.Controls.Add(UserControl) ' Add the control to the Group which will automatically display it.



        GroupBox1.Anchor = AnchorStyles.Top



        GroupBox1.Anchor = AnchorStyles.Left



        UserControl.Top = GroupBox1.Height / 2 - UserControl.Height / 2

        UserControl.Left = GroupBox1.Width / 2 - UserControl.Width / 2

Open in new window

0
 

Author Comment

by:michelsf
Comment Utility
jtoutou: thank you, but the calender has a fixed size and the usercontrol my not be moved.
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
Comment Utility
you need the user control in the top left of groupbox1 correct?
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
Comment Utility
Can you try this?
GroupBox1.Controls.Add(UserControl) 



        GroupBox1.Anchor = AnchorStyles.Top



        GroupBox1.Anchor = AnchorStyles.Left



        UserControl.Top = GroupBox1.Top - UserControl.Height

       UserControl.Left = GroupBox1.Left - UserControl.Left

Open in new window

0
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 

Author Comment

by:michelsf
Comment Utility
jtoutou: no not at all.

it should be shown over the borders of the groupbox (or any other containercontrol). like a combobox - when you drop down the list it will be shown topmost af all container wher it was placed, even the form is no limit. regards frank
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
Comment Utility
@Frank very sorry...
So you have a usercontrol .(DatetimePicker).You need When you drop the dtp to overlap other controls ?
0
 

Author Comment

by:michelsf
Comment Utility
@jtoutou: exactly overlap is what i meant. i shoul overlap it´s own container, yes. it should behave like a comboboxcontrol.
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
Comment Utility
What version VB.Net are you working in?
0
 
LVL 85

Expert Comment

by:Mike Tomlinson
Comment Utility
Can you describe your usercontrol in more detail?

Snap answer is to host the "drop down" portion if your control in a separate borderless form that gets displayed from within the usercontrol.  This will allow it to extend beyond the confines of the main form and allow it to be positioned anywhere.  It does have other issues that have to be dealt with though (such as focusing and parenting).
0
 

Author Comment

by:michelsf
Comment Utility
@Idle_Mind:

that´s what i figured myself. but how can it be done best ?  i do not want an additional form in my project. do you have a solution for the focusuing and parenting problems ?

the usercontrol is similar to the datetimepicker but has 2 additional buttons below the monthcalender.
it contains 1 textbox 1 lable  2 buttons 1 monthcalender and 1 panel

Regards Frank
0
 

Author Comment

by:michelsf
Comment Utility
@all

I found my Solution here: http://lukesw.net/articles/SimplePopup.aspx

Regrads
0
 
LVL 85

Accepted Solution

by:
Mike Tomlinson earned 500 total points
Comment Utility
Thanks for posting your solution!  I had found another site using a similar approach but hadn't had time to play with it yet...
0
 

Author Comment

by:michelsf
Comment Utility
Thanks Idle_Mind
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

5 Experts available now in Live!

Get 1:1 Help Now