Calendar.OnSelectionChanged 方法

定义

引发 SelectionChanged 控件的 Calendar 事件并使您可以为 SelectionChanged 事件提供自定义处理程序。

protected:
 virtual void OnSelectionChanged();
protected virtual void OnSelectionChanged ();
abstract member OnSelectionChanged : unit -> unit
override this.OnSelectionChanged : unit -> unit
Protected 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() 方法,以便已注册的委托对事件进行接收。

适用于

另请参阅