毎日の出席を入力するためにc#.netでカレンダーを生成したい.Webで同様の目的でjqueryカレンダーを使用しました。カレンダー コントロールを作成し、クリック イベントを取得して値をマークして表示する方法はありますか。
ありがとう
画像例:

毎日の出席を入力するためにc#.netでカレンダーを生成したい.Webで同様の目的でjqueryカレンダーを使用しました。カレンダー コントロールを作成し、クリック イベントを取得して値をマークして表示する方法はありますか。
ありがとう
画像例:

予算があれば、Telerik の Scheduler Control のような商用コンポーネントを使用することは間違いありません。これはコレクションに 999 ドルかかります。Telerik のコントロールを使用したことがないため、自分で推奨することはできませんが、他のプロジェクトでコンポーネントを再利用できる場合、長い目で見ればそれだけの価値があるかもしれません。
それができない場合、あなたの例のように単純なものは、自分自身を転がすのがかなり簡単です. 私は主に WinForms で作業しているので、フォームを作成する方法は次のとおりです。
FlowLayoutPanelに設定DockしFillます。これには、左から右、上から下に流れる「日」コントロールが含まれます。デザイナーではなく、コードで作業する必要があります。これはおそらく、コンストラクター、Page_Loadハンドラー、または月/年が設定 (または初期化) されたときに呼び出される場所で実行できます。
FlowLayoutControlして、月の開始を埋めます。new DateTime(year, month, 1).DayOfWeek月の最初の日を見つけるために何を追加するかを調べることができます。空のパネルは、「日」コントロールと同じサイズに設定する必要があります。dayコントロールを追加します。選択した月の日数を調べるためにFlowLayoutControl使用し、追加するときに日付 (およびおそらくイン/アウト データ) を使用して各「日」コントロールを設定します。DateTime.DayInMonth(year, month)flowLayoutControl.Items.Clear()し、セットアップ コードを呼び出すだけです。これにより、任意の月を動的に表示できるコントロールが作成されます。Click出席編集機能を追加するには、「日」コントロールまたはカレンダー コントロール自体にハンドラーを設定し(「日」コントロールを にFlowLayoutControl追加する場合)、モーダル フォームを開いて を編集または追加します。選択した日の /out 時間。
日コントロールのサイズを動的に変更する場合は、含まれているコントロールのResizeイベントに登録し、各日コントロールの幅と高さをMath.Floor(control.Width / 7)(7 日間幅) とMath.Floor(control.Height / 5)(5 週間高さ) などに設定します。
私の知る限り、市場には標準的なスケジュール管理はありません。DevExpress のXtraScheduleコントロールを確認することをお勧めします。