介绍 这篇文章是关于如何使用c#编程语言在Visual Studio 2008中使用日历控件的简单演练。日历控件允许用户选择指定的日期或在月份之间移动。在Visual Studio的属性窗口下有许多东西你可以定制,如DayHeaderStyle, DayStyle, NextPrevStyle, OtherMonthDayStyle, SelectedDayStyle, SelectorStyle,和WeedendDayStyle。可以根据文本、颜色、边框、对齐方式、宽度和高度的变化对其进行修改。因为这是一个简单的基本演练,所以我们暂时不考虑这些。 使用的代码 首先,您需要运行Visual Studio并创建一个新项目。本演练的理想选择是使用Web表单。创建Web项目后,您将注意到屏幕左侧的“工具箱”。我要做的第一件事是在页面顶部放置一个标签,向用户标识页面。我的标签将读“日历选择页”。为了美观,我还改变了标签的格式和页面的颜色(当然这是可选的)。在您的标准工具中,有一个标记为Calendar的控件。若要将其插入到项目中,可以单击并将其拖放到设计视图屏幕中,或双击“工具箱”中的控件。 现在,您应该在项目窗口中看到一个日历和一个标签。在这个项目中,我们希望通过屏幕底部的标签确认所选日期。这都是通过在属性窗口中使用SelectionMode设置的属性确定的。默认情况下,此属性设置为Day,但您还可以使用DayWeek或DayWeekMonth选项。在本演练中,我们将创建一个日历,通过告诉您单击的日期来确认您选择的日期。 为了使日期可见,一旦选择,您将直接在日历控件下插入另一个标签,不带文本属性。我给标签一个名字,selectedLabel。现在,让我们通过在DayRender方法中渲染cell size来确认假日。所有这些都显示在下面的代码中。这将为您提供一个基本的日历,它可以在日历控件本身中读取日期并确认假日。 隐藏,收缩,复制Code

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Linq; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Xml.Linq; 

namespace calenderControl
{ 
public partial class _Default : System.Web.UI.Page 
{ 
    string[,] holiDay = new string[13, 32]; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
        holiDay[1, 1] = "New Years Day"; 
        holiDay[1, 17] = "Martin Luther King Day"; 
        holiDay[2, 1] = "National Freedom Day"; 
        holiDay[2, 14] = "Valentine's Day"; 
            holiDay[2, 21] = "Presidents' Day"; 
            holiDay[3, 27] = "Easter Sunday"; 
        holiDay[4, 15] = "Tax Day"; 
        holiDay[5, 1] = "Loyalty Day"; 
        holiDay[5, 8] = "Mothers' Day"; 
            holiDay[5, 22] = "National Meritime Day"; 
        holiDay[5, 30] = "Memorial Day"; 
        holiDay[6, 19] = "Fathers' Day"; 
            holiDay[7, 4] = "Independence Day"; 
        holiDay[9, 5] = "Labor day"; 
        holiDay[9, 11] = "Patriot day"; 
        holiDay[10, 10] = "Columbus Day"; 
        holiDay[10, 31] = "Halloween"; 
        holiDay[11, 11] = "Veterans Day"; 
        holiDay[11, 24] = "Thanksgiving Day"; 
        holiDay[12, 24] = "Christmas Eve Day"; 
        holiDay[12, 25] = "Christmas Day"; 
    } 

    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e) 
    { 
        CalendarDay day = (CalendarDay)e.Day; 
        TableCell cell = (TableCell)e.Cell; 

        if (!day.IsOtherMonth) 
        { 
            String holidayStr = holiDay[day.Date.Month, day.Date.Day]; 

            if (holidayStr != null) 
            { 
                cell.BackColor = System.Drawing.Color.HotPink; 
                cell.Controls.Add(new LiteralControl("
                " + holidayStr)); 
            } 
        } 
    } 

    protected void Calendar1_SelectionChanged(object sender, EventArgs e) 
    { 
        selectedLabel.Text = "Date Chosen: " + 
            Calendar1.SelectedDate.ToLongDateString(); 
    } 
} 
}