Calendar.OnSelectionChanged 方法   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
引发 SelectionChanged 控件的 Calendar 事件并使您可以为 SelectionChanged 事件提供自定义处理程序。
protected:
 virtual void OnSelectionChanged();protected virtual void OnSelectionChanged();abstract member OnSelectionChanged : unit -> unit
override this.OnSelectionChanged : unit -> unitProtected Overridable Sub OnSelectionChanged ()示例
下面的代码示例演示如何指定和编码 事件的处理程序 SelectionChanged ,以显示控件中选择 Calendar 的项数。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Calendar SelectionChanged Example</title>
<script runat="server">
      void Selection_Change(Object sender, EventArgs e) 
      {
 
         // Clear the current text.
         Message.Text = "";
         // Iterate through the SelectedDates collection and display the
         // dates selected in the Calendar control.
         foreach(DateTime day in Calendar1.SelectedDates)
         {
            Message.Text += day.Date.ToShortDateString() + "<br />";
         }
         
      }
   </script>
</head>     
<body>
   <form id="form1" runat="server">
      <h3>Calendar SelectionChanged Example</h3>
      Select dates on the Calendar control.<br /><br />
      <asp:Calendar ID="Calendar1" runat="server"  
           SelectionMode="DayWeekMonth" 
           ShowGridLines="True"             
           OnSelectionChanged="Selection_Change">
         <SelectedDayStyle BackColor="Yellow"
                           ForeColor="Red">
         </SelectedDayStyle>
      </asp:Calendar>
      <hr />
      <table border="1">
         <tr style="background-color:silver">
            <th>
               Selected Dates:
            </th>
         </tr>
         <tr>
            <td>
           
               <asp:Label id="Message" 
                    Text="No dates selected." 
                    runat="server"/>
            </td>
         </tr>
      </table>
   </form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Calendar SelectionChanged Example</title>
<script runat="server">
      Sub Selection_Change(sender As Object, e As EventArgs) 
 
         ' Clear the current text.
         Message.Text = ""
         ' Iterate through the SelectedDates collection and display the
         ' dates selected in the Calendar control.
         Dim day As DateTime
         For Each day In Calendar1.SelectedDates
            Message.Text &= day.Date.ToShortDateString() & "<br />"
         Next
         
      End Sub
   </script>
</head>     
<body>
   <form id="form1" runat="server">
      <h3>Calendar SelectionChanged Example</h3>
      Select dates on the Calendar control.<br /><br />
      <asp:Calendar ID="Calendar1" runat="server"  
           SelectionMode="DayWeekMonth" 
           ShowGridLines="True"             
           OnSelectionChanged="Selection_Change">
         <SelectedDayStyle BackColor="Yellow"
                           ForeColor="Red">
         </SelectedDayStyle>
      </asp:Calendar>
      <hr />
      <table border="1">
         <tr style="background-color:silver">
            <th>
               Selected Dates:
            </th>
         </tr>
         <tr>
            <td>
           
               <asp:Label id="Message" 
                    Text="No dates selected." 
                    runat="server"/>
            </td>
         </tr>
      </table>
   </form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Calendar SelectionChanged Example</title>
<script runat="server">
      void Selection_Change(Object sender, EventArgs e) 
      {
 
         // Clear the current text.
         Message.Text = "";
         // Iterate through the SelectedDates collection and display the
         // dates selected in the Calendar control.
         foreach(DateTime day in Calendar1.SelectedDates)
         {
            Message.Text += day.Date.ToShortDateString() + "<br />";
         }
         
      }
      void Page_Load(Object sender, EventArgs e)
      {
         // Manually register the event-handling method for the  
         // SelectionChanged event of the Calendar control.
         Calendar1.SelectionChanged += new EventHandler(this.Selection_Change);
      }
   </script>
</head>     
<body>
   <form id="form1" runat="server">
      <h3>Calendar SelectionChanged Example</h3>
      Select a day, week, or month on the Calendar control.<br /><br />
      <asp:Calendar ID="Calendar1" runat="server"  
           SelectionMode="DayWeekMonth" 
           ShowGridLines="True">
         <SelectedDayStyle BackColor="Yellow"
                           ForeColor="Red">
         </SelectedDayStyle>
      </asp:Calendar>
      <hr />
      <table border="1">
         <tr style="background-color:silver">
            <th>
               Selected dates
            </th>
         </tr>
         <tr>
            <td>
           
               <asp:Label id="Message" 
                    Text="No dates selected." 
                    runat="server"/>
            </td>
         </tr>
      </table>
   </form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Calendar SelectionChanged Example</title>
<script runat="server">
      Sub Selection_Change(sender As Object, e As EventArgs) 
 
         ' Clear the current text.
         Message.Text = ""
         ' Iterate through the SelectedDates collection and display the
         ' dates selected in the Calendar control.
         Dim day As DateTime
         For Each day In Calendar1.SelectedDates
            Message.Text &= day.Date.ToShortDateString() & "<br />"
         Next
         
      End Sub
      Sub Page_Load(sender As Object, e As EventArgs)
         ' Manually register the event-handling method for the   
         ' SelectionChanged event of the Calendar control.
         AddHandler Calendar1.SelectionChanged, AddressOf Selection_Change
      End Sub
   </script>
</head>     
<body>
   <form id="form1" runat="server">
      <h3>Calendar SelectionChanged Example</h3>
      Select a day, week, or month on the Calendar control.<br /><br />
      <asp:Calendar ID="Calendar1" runat="server"  
           SelectionMode="DayWeekMonth" 
           ShowGridLines="True">
         <SelectedDayStyle BackColor="Yellow"
                           ForeColor="Red">
         </SelectedDayStyle>
      </asp:Calendar>
      <hr />
      <table border="1">
         <tr style="background-color:silver">
            <th>
               Selected Dates:
            </th>
         </tr>
         <tr>
            <td>
           
               <asp:Label id="Message" 
                    Text="No dates selected." 
                    runat="server"/>
            </td>
         </tr>
      </table>
   </form>
</body>
</html>
注解
SelectionChanged当用户通过单击日期选择器控件选择一天、一周或整个月时,将引发该事件。
引发事件时,将通过委托调用事件处理程序。 有关详细信息,请参阅 处理和引发事件。
OnSelectionChanged 方法还允许派生类对事件进行处理而不必附加委托。 这是在派生类中处理事件的首选技术。
继承者说明
在派生类中重写 OnSelectionChanged() 时,一定要调用基类的 OnSelectionChanged() 方法,以便已注册的委托对事件进行接收。