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() базового класса, чтобы зарегистрированные делегаты получили событие.