1: First write a UiControl that shows the week, this UiControl receives a day parameter from the outside, automatically transforms to date and is displayed in label .....
Using system;
Using system.windows.forms;
Using system.drawing;
Namespace Xuicontrols
{
///
/// summary description for xweeks.
/// summary>
Public Class Xweeks: System.Windows.Forms.Label
{
Public xweeks ()
{
//
// Todo: add constructor logic here
//
THIS.AUTOSIZE = FALSE;
THIS.HEIGHT = 24;
This.Borderstyle = system.windows.Forms.Borderstyle.fixed3d;
This.TextAlign = system.drawing.contentAlignment.middleleft;
This.font = new system.drawing.font ("Microsoft Sans Serif", 9F, System.drawing.FontStyle.Regular, System.drawing.graphicsUnit.point, ((System.byte) (0)))
}
Private string [] week_cdays = new string [7]
{
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"on Saturday",
"on Sunday",
}
Private string getdays (string astg_days)
{
String lstg_days;
Switch (ASTG_DAYS)
{
Case "Monday":
THISTEM.DRAWING.COLOR.BLACK;
LSTG_DAYS = Week_CDAYS [0];
Break;
Case "Tuesday":
THISTEM.DRAWING.COLOR.BLACK;
LSTG_DAYS = Week_cdays [1];
Break;
Case "Wednesday":
THISTEM.DRAWING.COLOR.BLACK;
LSTG_DAYS = Week_cdays [2];
Break;
Case "thursday":
THISTEM.DRAWING.COLOR.BLACK;
LSTG_DAYS = Week_CDAYS [3];
Break;
Case "frIDay":
THISTEM.DRAWING.COLOR.BLACK;
LSTG_DAYS = Week_cdays [4];
Break;
Case "saturday":
THISTEM.DRAWING.COLOR.Green;
LSTG_DAYS = Week_CDAYS [5];
Break;
Case "sunday":
THISTEM.DRAWING.COLOR.RED;
LSTG_DAYS = Week_CDAYS [6];
Break;
DEFAULT: this.forecolor = system.drawing.color.royalblue;
LSTG_DAYS = "Weekly"; "
Break;
}
Return LSTG_DAYS;
}
Public Override String Text
{
get
{
String lstg_days;
IF (base.text == "")
{
LSTG_DAYS = system.datetime.now.dayofweek.tostring ();
}
Else
{
LSTG_DAYS = BASE.TEXT;
}
Return getDays (LSTG_DAYS);
}
set
{
Base.text = value;
}
}
}
}
2: Write a UserControl, dragging the newly built UICONTROL to UserContrl, and placed on UserContrl to a DataTimerPicker ..., this part is mainly in the DataTimerPicker selection event, write UiControl's operation, to UiControl is the date parameter. .
Using system;
Using system.collections;
Using system.componentmodel;
Using system.drawing;
Using system.data;
Using system.windows.forms;
Namespace my_dialesss.userControls
{
///
/// Summary Description for UserControl_Header.
/// summary>
Public class usercontrol_header: system.windows.Forms.userControl
{
Private Xuicontrols.xDataTimePicker DTP_DATETIME;
Private Xuicontrols.xweeks lbl_weekdays;
///
/// Required Designer Variable.
/// summary>
Private system.componentmodel.Container Components = NULL;
Public userControl_Header ()
{
// this call is required by the Windows.Forms Form Designer.
InitializationComponent ();
// Todo: add anyinitization after the initializecomponent call
}
///
/// Clean Up Any Resources Being Used.
/// summary>
Protected Override Void Dispose (Bool Disposing)
{
IF (Disposing)
{
IF (Components! = NULL)
{
Components.dispose ();
}
}
Base.dispose (Disposing);
}
#Region Component Designer Generated Code
///
/// Required Method for Designer Support - Do Not Modify
/// the contents of this method with the code editor./// summary>
Private vidinitiRizeComponent ()
{
THIS.DTP_DATETIME = New Xuicontrols.xDataTimePicker ();
THIS.LBL_WEEKDAYS = New Xuicontrols.xweeks ();
THIS.SUSPENDLAYOUT ();
//
// dtp_datetime
//
This.dtp_datetime.calendarfont = New System.drawing.Font ("Microsoft Sans Serif", 7.5F, System.drawing.FontSty.Regular, System.drawing.graphicsUnit.Point, ((System.byte))));
This.dtp_datetime.font = new system.drawing.font ("Microsoft Sans Serif", 10F, System.drawing.FontStyle.Regular, System.drawing.graphicsUnit.Point, ((System.byte) (0))))
this.dtp_datetime.location = new system.drawing.point (2, 2);
this.dtp_datetime.name = "dtp_datetime";
this.dtp_datetime.size = new system.drawing.size (100, 23);
THIS.DTP_DATETIME.TABINDEX = 6;
THIS.DTP_DATETIME.VALUECHANGED = New System.EventHandler (this.dtp_datetime_valuechanged);
//
// lbl_weekdays
//
THIS.LBL_WEEKDAYS.BORDERSTYLE = System.Windows.Forms.Borderstyle.fixed3d;
THISLBL_WEEKDAYS.FONT = New System.drawing.Font ("Microsoft Sans Serif", 9F, System.drawing.FontStyle.Regular, System.drawing.graphicsUnit.Point, ((System.byte) (0)))))
THIS.LBL_WEEKDAYS.FORECOLOR = system.drawing.color.black;
this.lbl_weekdays.location = new system.drawing.point (104, 2);
THIS.LBL_WEEKDAYS.NAME = "lbl_weekdays";
THIS.LBL_WEEKDAYS.SIZE = New System.drawing.size (48, 23);
THIS.LBL_WEEKDAYS.TABINDEX = 7;
THIS.LBL_WEEKDAYS.TEXTALIGN = System.drawing.contentAlignment.middleleft;
//
// UserControl_Header
//
This.Controls.add (this.dtp_datetime);
this.controls.add (this.lbl_weekdays);
THIS.NAME = "UserControl_Header"; this.size = new system.drawing.size (708, 86);
This.ResumeLayout (false);
}
#ndregion
Private void dtp_datetime_valuechanged (Object Sender, System.EventArgs E)
{
THISLBL_WEEKDAYS.TEXT = this.dtp_datetime.value.dayofweek.tostring ();
}
}
}
Rendering: