DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DateTimePickerもどき

  • 題名: DateTimePickerもどき
  • 著者: Addida79
  • 日時: 2007/06/10 20:16:15
  • ID: 19821
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[C#]
分類:[.NET]

現在、C#でユーザコントロールを作成しています。

その中でカレンダーとコンボボックスを併用して
自作DateTimePickerもどきを作ろうと考えていますが、
ドロップダウンのなかにMonthCalenderを表示するやり方が
わかりません。
そもそも考え方がおかしいのでしょうか?
(子コントロールのなかに子コントロール?)

どなたか教えてください。
お願いします。
> 現在、C#でユーザコントロールを作成しています。
>
> その中でカレンダーとコンボボックスを併用して
> 自作DateTimePickerもどきを作ろうと考えていますが、
> ドロップダウンのなかにMonthCalenderを表示するやり方が
> わかりません。

ユーザーコントロールですので書かれているコントロールをデザインで貼り付けたと思います。
コンボボックスの真下にカレンダーを配置してVisibleとユーザーコントロールのサイズをコード内で変更するとよいでしょう。

コンボボックスだとそれが持っているリストの表示非表示をしなければなりません。
テキストボックス+ボタン+カレンダーという方法もあります。
■No19822に返信(まどかさんの記事)
> ユーザーコントロールですので書かれているコントロールをデザインで貼り付けたと思います。
> コンボボックスの真下にカレンダーを配置してVisibleとユーザーコントロールのサイズをコード内で変更するとよいでしょう。
>
> コンボボックスだとそれが持っているリストの表示非表示をしなければなりません。
> テキストボックス+ボタン+カレンダーという方法もあります。

まどかさん返信ありがとうございます。

早速自作してみます。
が、ひとつ疑問があります。

テキストボックス+ボタン+カレンダーの場合、
表示位置は親の相対位置、、、例えばパネルの上にドロップされた場合、
親はパネルになるので、パネルの外には出せないような気がします。

また、次月前月ボタン押下と日付押下の区別はどうしたら良いのでしょうか?

質問ばかりでもうしわけございません。
お願いします。
  • 題名: Re[3]: DateTimePickerもどき
  • 著者: まどか
  • 日時: 2007/06/11 13:34:59
  • ID: 19827
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
> 表示位置は親の相対位置、、、例えばパネルの上にドロップされた場合、
> 親はパネルになるので、パネルの外には出せないような気がします。

コンボボックスも内部的にEdit+List(要はそれぞれがウィンドウ)なのでごにょごにょすればとは思いますが。。。よくわかりません。
タイトルバーの無いMonthCalendarを貼り付けたウィンドウを表示するとか。

> また、次月前月ボタン押下と日付押下の区別はどうしたら良いのでしょうか?

ヘルプ見る限りDateChangedとDateSelectedの組み合わせで判断するしかないかな。
ただ、発生の有無と順序を考えるとつらいかも。

DOBON.NET | プログラミング道 | プログラミング掲示板