介绍 这篇文章是关于如何使用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();
}
}
}