我基于Visual Studio 2010 c#中的UserControl
创建了自定义 datetimepicker 。此控件中有RichTextBox
,Button
和MonthCalendar
。
http://i.imgur.com/85iwc.png?1
我更改UserControl的高度以隐藏/显示日历。我的问题是,当我将此控件放在位于面板上的GroupBox
时,父级重叠它:
我已经在控件 Parent 上解决了这个循环,直到找到主窗体,然后将其设置为我的DateTimePicker的父级。
Control parent = this.Parent ?? null;
while (parent != null)
{
if (parent is Form)
break;
parent = parent.Parent;
}
this.clnMonth.Parent = parent;
clnMonth.Location = this.PointToScreen(Point.Empty);
我尝试将MonthCalendar
放在另一个表单上并在点击后显示/隐藏它,但是在 DateTimePicker 下将表单定位的问题很严重。上面的方法工作正常,但我知道这不是最好的解决方案。你能给我一个不同的想法吗?