c#

位置:IT落伍者 >> c# >> 浏览文章

C#高级编程:定制日历控件[2]


发布日期:2019年10月08日
 
C#高级编程:定制日历控件[2]
——此文章摘自《C#高级编程(第版)》定价元 特价元 购买

接着需要响应日历上的日期选择为此需要先为日历的SelectionChanged事件添加一个事件处理程序强制检查现有会议的日期双击设计器中的日历添加如下代码

private void calendar_SelectionChanged(object sender

SystemEventArgs e)

{

SystemDateTime trialDate = calendarSelectedDate;

calendarSelectedDate = getFreeDate(trialDate);

}

这段代码与Page_Load()相同

执行这种检查的第三个地方是响应登记按钮的单击后面会解释它因为后面进行了许多改变

接着把日历的日期单元格变为另一种颜色以表示现存的会议为此需要给日期对象的DayRender事件添加一个事件处理程序每次显示一个日期时都会触发这个事件并允许通过在处理程序中接收到的DayRenderEventArgs参数的Cell 和 Date属性访问要显示的单元格对象和这个单元格的日期我们需要比较要显示的单元格中的日期和eventTable对象中的日期如果匹配就可以使用CellBackColor属性为单元格着色

protected void calendar_DayRender(object sender

SystemWebUIWebControlsDayRenderEventArgs e)

{

if (eventTableRowsCount > )

{

SystemDateTime testDate;

foreach (SystemDataDataRow testRow in eventTableRows)

{

testDate = (SystemDateTime)testRow[EventDate];

if (testDateDate == eDayDate)

{

eCellBackColor = ColorRed;

}

}

}

}

这里使用红色得到屏幕图三月的日都有会议所以用户选择了

添加了日期选择逻辑后就不可能选择显示为红色的一天如果要选择这样的日期就会选择该日期后面的某一天例如在图的日历中单击就会选择

[] []

               

上一篇:C#高级编程:定制日历控件[1]

下一篇:详解.NET中的动态编译[1]