Solved

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

Posted on 2010-09-13
17
1,057 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 5
  • 3
  • +1
17 Comments
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
ID: 33662212
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
ID: 33662370
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
ID: 33662417
sorry, anchor has no effect. dockstyle.top is not suitable for me. regrads frank
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:michelsf
ID: 33662467
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
ID: 33662529
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
ID: 33662586
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
ID: 33662609
you need the user control in the top left of groupbox1 correct?
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
ID: 33662633
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
 

Author Comment

by:michelsf
ID: 33662646
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
ID: 33662756
@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
ID: 33662875
@jtoutou: exactly overlap is what i meant. i shoul overlap it´s own container, yes. it should behave like a comboboxcontrol.
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 33663410
What version VB.Net are you working in?
0
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 33663518
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
ID: 33670001
@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
ID: 33680675
@all

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

Regrads
0
 
LVL 86

Accepted Solution

by:
Mike Tomlinson earned 500 total points
ID: 33681712
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
ID: 33683142
Thanks Idle_Mind
0

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

737 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