ListControl.SelectedValueChanged イベント
SelectedValue プロパティが変更された場合に発生します。
Public Event SelectedValueChanged As EventHandler
[C#]
public event EventHandler SelectedValueChanged;
[C++]
public: __event EventHandler* SelectedValueChanged;
[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。
イベント データ
イベント ハンドラが EventArgs 型の引数を受け取りました。
解説
ListControl デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「 イベントとデリゲート 」を参照してください。
使用例
[Visual Basic, C#, C++] ListBox クラスによって実装された ListControl クラスの DataSource 、 DisplayMember 、 ValueMember 、 SelectedValue の各メンバの使用方法を示す、アプリケーション全体の例を次に示します。この例では、 ArrayList とリスト ボックスを読み込みます。また、この例では、 SelectedValueChanged イベントを使用して、ユーザーがリスト ボックスの項目を選択したときに、テキスト ボックスにデータを入力します。このテキスト ボックスには、選択項目に関連付けられているデータが入力されます。
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Collections
Public Class USState
Private myShortName As String
Private myLongName As String
Public Sub New(ByVal strlongName As String, ByVal strShortName As String)
MyBase.New()
Me.myShortName = strShortName
Me.myLongName = strLongName
End Sub
Public ReadOnly Property ShortName() As String
Get
Return myShortName
End Get
End Property
Public ReadOnly Property LongName() As String
Get
Return myLongName
End Get
End Property
Public Overrides Function ToString() As String
Return Me.ShortName & " - " & Me.LongName
End Function
End Class
Public Class ListBoxSample3
Inherits Form
Friend WithEvents ListBox1 As ListBox = New ListBox()
Dim textBox1 As TextBox = New TextBox()
<System.STAThreadAttribute()> _
Public Shared Sub Main()
System.Windows.Forms.Application.Run(New ListBoxSample3())
End Sub
Public Sub New()
Me.AutoScaleBaseSize = New Size(5, 13)
Me.ClientSize = New Size(292, 181)
Me.Text = "ListBox Sample3"
ListBox1.Location = New Point(24, 16)
ListBox1.Name = "ListBox1"
ListBox1.Size = New Size(232, 130)
textBox1.Location = New Point(24, 160)
textBox1.Name = "textBox1"
textBox1.Size = New Size(40, 24)
Me.Controls.AddRange(New Control() {ListBox1, textBox1})
' Populates the list box using DataSource.
' DisplayMember is used to display just the long name of each state.
Dim USStates As New ArrayList()
USStates.Add(New USState("Washington", "WA"))
USStates.Add(New USState("West Virginia", "WV"))
USStates.Add(New USState("Wisconsin", "WI"))
USStates.Add(New USState("Wyoming", "WY"))
ListBox1.DataSource = USStates
ListBox1.DisplayMember = "LongName"
ListBox1.ValueMember = "ShortName"
End Sub
Private Sub InitializeComponent()
End Sub
Private Sub ListBox1_SelectedValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
If ListBox1.SelectedIndex <> -1 Then
textBox1.Text = ListBox1.SelectedValue
End If
End Sub
End Class
[C#]
using System;
using System.Windows.Forms ;
using System.Drawing ;
using System.Collections ;
namespace MyListControlSample
{
public class USState
{
private string myShortName ;
private string myLongName ;
public USState(string strLongName, string strShortName)
{
this.myShortName = strShortName;
this.myLongName = strLongName;
}
public string ShortName
{
get
{
return myShortName;
}
}
public string LongName
{
get
{
return myLongName ;
}
}
public override string ToString()
{
return this.ShortName + " - " + this.LongName;
}
}
public class ListBoxSample3:Form
{
private ListBox ListBox1 = new ListBox();
private TextBox textBox1 = new TextBox() ;
[STAThread]
static void Main()
{
Application.Run(new ListBoxSample3()) ;
}
public ListBoxSample3()
{
this.AutoScaleBaseSize = new Size(5, 13) ;
this.ClientSize = new Size(292, 181) ;
this.Text = "ListBox Sample3" ;
ListBox1.Location = new Point(24, 16) ;
ListBox1.Name = "ListBox1" ;
ListBox1.Size = new Size(232, 130) ;
textBox1.Location = new Point(24, 160) ;
textBox1.Name = "textBox1" ;
textBox1.Size = new Size(240, 24) ;
this.Controls.AddRange(new Control[] {ListBox1, textBox1}) ;
// Populates the list box using DataSource.
// DisplayMember is used to display just the long name of each state.
ArrayList USStates = new ArrayList() ;
USStates.Add(new USState("Alabama", "AL"));
USStates.Add(new USState("Washington", "WA")) ;
USStates.Add(new USState("West Virginia", "WV"));
USStates.Add(new USState("Wisconsin", "WI")) ;
USStates.Add(new USState("Wyoming", "WY"));
ListBox1.SelectedValueChanged += new EventHandler(ListBox1_SelectedValueChanged);
ListBox1.DataSource = USStates ;
ListBox1.DisplayMember = "LongName" ;
ListBox1.ValueMember = "ShortName" ;
}
private void InitializeComponent()
{
}
private void ListBox1_SelectedValueChanged(object sender, EventArgs e)
{
if (ListBox1.SelectedIndex != -1)
textBox1.Text = ListBox1.SelectedValue.ToString();
}
}
}
[C++]
#using <mscorlib.dll>
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Windows::Forms;
using namespace System::Drawing;
using namespace System::Collections;
public __gc class USState
{
private:
String* myShortName;
String* myLongName;
public:
USState(String* strLongName, String* strShortName)
{
this->myShortName = strShortName;
this->myLongName = strLongName;
}
__property String* get_ShortName()
{
return myShortName;
}
__property String* get_LongName()
{
return myLongName;
}
String* ToString()
{
return String::Concat( this->ShortName, S" - ", this->LongName );
}
};
public __gc class ListBoxSample3:public Form
{
private:
ListBox* ListBox1;
TextBox* textBox1;
public:
ListBoxSample3()
{
ListBox1 = new ListBox();
textBox1 = new TextBox();
this->AutoScaleBaseSize = System::Drawing::Size(5, 13);
this->ClientSize = System::Drawing::Size(292, 181);
this->Text = S"ListBox Sample3";
ListBox1->Location = Point(24, 16);
ListBox1->Name = S"ListBox1";
ListBox1->Size = System::Drawing::Size(232, 130);
textBox1->Location = Point(24, 160);
textBox1->Name = S"textBox1";
textBox1->Size = System::Drawing::Size(240, 24);
Control* temp2 [] = {ListBox1, textBox1};
this->Controls->AddRange(temp2);
// Populates the list box using DataSource.
// DisplayMember is used to display just the long name of each state.
ArrayList* USStates = new ArrayList();
USStates->Add(new USState(S"Alabama", S"AL"));
USStates->Add(new USState(S"Washington", S"WA"));
USStates->Add(new USState(S"West Virginia", S"WV"));
USStates->Add(new USState(S"Wisconsin", S"WI"));
USStates->Add(new USState(S"Wyoming", S"WY"));
ListBox1->SelectedValueChanged += new EventHandler(this, &ListBoxSample3::ListBox1_SelectedValueChanged);
ListBox1->DataSource = USStates;
ListBox1->DisplayMember = S"LongName";
ListBox1->ValueMember = S"ShortName";
}
void InitializeComponent()
{
}
private:
void ListBox1_SelectedValueChanged(Object* /*sender*/, EventArgs* /*e*/)
{
if (ListBox1->SelectedIndex != -1)
textBox1->Text = ListBox1->SelectedValue->ToString();
}
};
[STAThread]
int main()
{
Application::Run(new ListBoxSample3());
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
ListControl クラス | ListControl メンバ | System.Windows.Forms 名前空間