CheckBox コントロールの CheckedChanged イベントを発生させます。これにより、イベントを直接処理できます。
Protected Overridable Sub OnCheckedChanged( _
ByVal e As EventArgs _)
[C#]
protected virtual void OnCheckedChanged(EventArgse);
[C++]
protected: virtual void OnCheckedChanged(EventArgs* e);
[JScript]
protected function OnCheckedChanged(
e : EventArgs);
パラメータ
- e
イベント データを格納している System.EventArgs 。
解説
Checked プロパティの値がサーバーへのポスト間で変更された場合は CheckedChanged イベントが発生します。
メモ このイベントが正常に動作するためには、サーバーへのポスト間で CheckBox コントロールがいくつかの値を永続化する必要があります。このコントロールでビューステートが有効になっていることを確認してください。
イベントが発生すると、デリゲートを使用してイベント ハンドラが呼び出されます。詳細については、「 イベントの発生 」を参照してください。
OnCheckedChanged メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理させることもできます。派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意: 派生クラスで OnCheckedChanged をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnCheckedChanged メソッドを呼び出してください。
使用例
[Visual Basic, C#] CheckBox コントロールの CheckedChanged イベントのハンドラを指定およびコード化する方法を次の例に示します。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub Check_Clicked(sender As Object, e As EventArgs)
' Calculate the subtotal and display the result in currency format.
' Include tax if the check box is selected.
Message.Text = CalculateTotal(checkbox1.Checked).ToString("c")
End Sub
Sub Page_Load(sender As Object, e As EventArgs)
' Display the subtotal without tax when the page is first loaded.
If Not IsPostBack Then
' Calculate the subtotal and display the result in currency format.
Message.Text = CalculateTotal(false).ToString("c")
End If
End Sub
Function CalculateTotal(Taxable As Boolean) As Double
' Calculate the subtotal for the example.
Dim Result As Double = 1.99 + 2.99 + 3.99
' Add tax, if applicable.
If(Taxable)
Result += Result * 0.086
End If
Return Result
End Function
</script>
</head>
<body>
<form runat="server">
<h3>CheckBox CheckedChanged Example</h3>
Select whether to include tax in the subtotal.
<br><br>
<table border="1" cellpadding="5">
<tr>
<th colspan="2">
Shopping cart
</th>
</tr>
<tr>
<td>
Item 1
</td>
<td>
$1.99
</td>
</tr>
<tr>
<td>
Item 2
</td>
<td>
$2.99
</td>
</tr>
<tr>
<td>
Item 3
</td>
<td>
$3.99
</td>
</tr>
<tr>
<td>
<b>Subtotal</b>
</td>
<td>
<asp:Label id="Message" runat="server"/>
</td>
</tr>
<tr>
<td colspan="2">
<asp:CheckBox id="checkbox1" runat="server"
AutoPostBack="True"
Text="Include 8.6% sales tax"
TextAlign="Right"
OnCheckedChanged="Check_Clicked"/>
</td>
</tr>
</table>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void Check_Clicked(Object sender, EventArgs e)
{
// Calculate the subtotal and display the result in currency format.
// Include tax if the check box is selected.
Message.Text = CalculateTotal(checkbox1.Checked).ToString("c");
}
void Page_Load(Object sender, EventArgs e)
{
// Display the subtotal without tax when the page is first loaded.
if(!IsPostBack)
{
// Calculate the subtotal and display the result in currency format.
Message.Text = CalculateTotal(false).ToString("c");
}
}
double CalculateTotal(bool Taxable)
{
// Calculate the subtotal for the example.
double Result = 1.99 + 2.99 + 3.99;
// Add tax, if applicable.
if(Taxable)
{
Result += Result * 0.086;
}
return Result;
}
</script>
</head>
<body>
<form runat="server">
<h3>CheckBox CheckedChanged Example</h3>
Select whether to include tax in the subtotal.
<br><br>
<table border="1" cellpadding="5">
<tr>
<th colspan="2">
Shopping cart
</th>
</tr>
<tr>
<td>
Item 1
</td>
<td>
$1.99
</td>
</tr>
<tr>
<td>
Item 2
</td>
<td>
$2.99
</td>
</tr>
<tr>
<td>
Item 3
</td>
<td>
$3.99
</td>
</tr>
<tr>
<td>
<b>Subtotal</b>
</td>
<td>
<asp:Label id="Message" runat="server"/>
</td>
</tr>
<tr>
<td colspan="2">
<asp:CheckBox id="checkbox1" runat="server"
AutoPostBack="True"
Text="Include 8.6% sales tax"
TextAlign="Right"
OnCheckedChanged="Check_Clicked"/>
</td>
</tr>
</table>
</form>
</body>
</html>
[Visual Basic]
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub Check_Clicked(sender As Object, e As EventArgs)
' Calculate the subtotal and display the result in currency format.
' Include tax if the check box is selected.
Message.Text = CalculateTotal(checkbox1.Checked).ToString("c")
End Sub
Sub Page_Load(sender As Object, e As EventArgs)
' Display the subtotal without tax when the page is first loaded.
If Not IsPostBack Then
' Calculate the subtotal and display the result in
' currency format.
Message.Text = CalculateTotal(false).ToString("c")
End If
' Manually register the event-handling method for the
' CheckedChanged event of the CheckBox control.
AddHandler checkbox1.CheckedChanged, AddressOf Check_Clicked
End Sub
Function CalculateTotal(Taxable As Boolean) As Double
' Calculate the subtotal for the example.
Dim Result As Double = 1.99 + 2.99 + 3.99
' Add tax, if applicable.
If(Taxable)
Result += Result * 0.086
End If
Return Result
End Function
</script>
</head>
<body>
<form runat="server">
<h3>CheckBox CheckedChanged Example</h3>
Select whether to include tax in the subtotal.
<br><br>
<table border="1" cellpadding="5">
<tr>
<th colspan="2">
Shopping cart
</th>
</tr>
<tr>
<td>
Item 1
</td>
<td>
$1.99
</td>
</tr>
<tr>
<td>
Item 2
</td>
<td>
$2.99
</td>
</tr>
<tr>
<td>
Item 3
</td>
<td>
$3.99
</td>
</tr>
<tr>
<td>
<b>Subtotal</b>
</td>
<td>
<asp:Label id="Message" runat="server"/>
</td>
</tr>
<tr>
<td colspan="2">
<asp:CheckBox id="checkbox1" runat="server"
AutoPostBack="True"
Text="Include 8.6% sales tax"
TextAlign="Right"
OnCheckedChanged="Check_Clicked"/>
</td>
</tr>
</table>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
void Check_Clicked(Object sender, EventArgs e)
{
// Calculate the subtotal and display the result in currency format.
// Include tax if the check box is selected.
Message.Text = CalculateTotal(checkbox1.Checked).ToString("c");
}
void Page_Load(Object sender, EventArgs e)
{
// Display the subtotal without tax when the page is first loaded.
if(!IsPostBack)
{
// Calculate the subtotal and display the result in
// currency format.
Message.Text = CalculateTotal(false).ToString("c");
}
// Manually register the event-handling method for the
// CheckedChanged event of the CheckBox control.
checkbox1.CheckedChanged += new EventHandler(this.Check_Clicked);
}
double CalculateTotal(bool Taxable)
{
// Calculate the subtotal for the example.
double Result = 1.99 + 2.99 + 3.99;
// Add tax, if applicable.
if(Taxable)
{
Result += Result * 0.086;
}
return Result;
}
</script>
</head>
<body>
<form runat="server">
<h3>CheckBox CheckedChanged Example</h3>
Select whether to include tax in the subtotal.
<br><br>
<table border="1" cellpadding="5">
<tr>
<th colspan="2">
Shopping cart
</th>
</tr>
<tr>
<td>
Item 1
</td>
<td>
$1.99
</td>
</tr>
<tr>
<td>
Item 2
</td>
<td>
$2.99
</td>
</tr>
<tr>
<td>
Item 3
</td>
<td>
$3.99
</td>
</tr>
<tr>
<td>
<b>Subtotal</b>
</td>
<td>
<asp:Label id="Message" runat="server"/>
</td>
</tr>
<tr>
<td colspan="2">
<asp:CheckBox id="checkbox1" runat="server"
AutoPostBack="True"
Text="Include 8.6% sales tax"
TextAlign="Right"/>
</td>
</tr>
</table>
</form>
</body>
</html>
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ
参照
CheckBox クラス | CheckBox メンバ | System.Web.UI.WebControls 名前空間 | CheckedChanged | System.EventArgs