Visual Studio 2010 の c# に基づいて、カスタムのdatetimepickerを作成しました。このコントロールにUserControl
は 、RichTextBox
、がButton
あります。MonthCalendar
http://i.imgur.com/85iwc.png?1 .
UserControl の高さを変更してカレンダーを表示/非表示にします。私の問題は、このコントロールをpanelGroupBox
にある に配置すると、親が重なることです:
メイン フォームが見つかるまでコントロール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);
別のフォームに配置して、クリック後に表示/非表示にしようとしましたが、フォームをDateTimePickerMonthCalendar
の下に配置するのに大きな問題があります。上記の方法は問題なく機能しますが、最善の解決策ではないことはわかっています。代わりのアイデアを教えてください。