Freigeben über


ListControl.SelectedValueChanged-Ereignis

Tritt ein, wenn sich die SelectedValue-Eigenschaft ändert.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Event SelectedValueChanged As EventHandler
'Usage
Dim instance As ListControl
Dim handler As EventHandler

AddHandler instance.SelectedValueChanged, handler
public event EventHandler SelectedValueChanged
public:
event EventHandler^ SelectedValueChanged {
    void add (EventHandler^ value);
    void remove (EventHandler^ value);
}
/** @event */
public void add_SelectedValueChanged (EventHandler value)

/** @event */
public void remove_SelectedValueChanged (EventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.

Hinweise

Beim Erstellen eines ListControl-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung. Fügen Sie dem Ereignis eine Instanz des Delegaten hinzu, um das Ereignis dem Ereignishandler zuzuordnen. Der Ereignishandler wird bei jedem Eintreten des Ereignisses aufgerufen, sofern der Delegat nicht entfernt wird. Weitere Informationen zu Delegaten für Ereignishandler finden Sie unter Ereignisse und Delegaten.

Beispiel

Im folgenden Codebeispiel wird anhand einer vollständigen Anwendung veranschaulicht, wie Sie die Member DataSource, DisplayMember, ValueMember und SelectedValue der ListControl-Klasse in der Implementierung der ListBox-Klasse verwenden können. Im folgenden Beispiel wird eine ArrayList in das Listenfeld geladen. Im Beispiel wird auch ein SelectedValueChanged-Ereignis verwendet, um ein Textfeld bei der Auswahl eines Elements im Listenfeld auszufüllen. Das Textfeld wird mit den Daten gefüllt, die dem ausgewählten Element zugeordnet sind.

Imports System
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Collections

Public Class USState
   Private myShortName As String
   Private myLongName As String
   
   Public Sub New(strLongName As String, strShortName As String)
      Me.myShortName = strShortName
      Me.myLongName = strLongName
   End Sub 'New
   
   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 'ToString
End Class 'USState


Public Class ListBoxSample3
   Inherits Form
   Private ListBox1 As New ListBox()
   Private textBox1 As New TextBox()
   
   <STAThread()>  _
   Shared Sub Main()
      Application.Run(New ListBoxSample3())
   End Sub 'Main
   
   Public Sub New()
      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(240, 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("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"))
      AddHandler ListBox1.SelectedValueChanged, AddressOf ListBox1_SelectedValueChanged
      ListBox1.DataSource = USStates
      ListBox1.DisplayMember = "LongName"
      ListBox1.ValueMember = "ShortName"
   End Sub 'New
   
   Private Sub InitializeComponent()
   End Sub 'InitializeComponent
   
   Private Sub ListBox1_SelectedValueChanged(sender As Object, e As EventArgs)
      If ListBox1.SelectedIndex <> - 1 Then
         textBox1.Text = ListBox1.SelectedValue.ToString()
      End If
   End Sub 'ListBox1_SelectedValueChanged
End Class 'ListBoxSample3
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.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();
        }
    }
}
#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 ref class USState
{
private:
   String^ myShortName;
   String^ myLongName;

public:
   USState( String^ strLongName, String^ strShortName )
   {
      this->myShortName = strShortName;
      this->myLongName = strLongName;
   }

   property String^ ShortName 
   {
      String^ get()
      {
         return myShortName;
      }
   }

   property String^ LongName 
   {
      String^ get()
      {
         return myLongName;
      }

   }
   virtual String^ ToString() override
   {
      return String::Concat( this->ShortName, " - ", this->LongName );
   }
};

public ref class ListBoxSample3: public Form
{
private:
   ListBox^ ListBox1;
   TextBox^ textBox1;

public:
   ListBoxSample3()
   {
      ListBox1 = gcnew ListBox;
      textBox1 = gcnew TextBox;
      this->ClientSize = System::Drawing::Size( 292, 181 );
      this->Text = "ListBox Sample3";
      ListBox1->Location = Point(24,16);
      ListBox1->Name = "ListBox1";
      ListBox1->Size = System::Drawing::Size( 232, 130 );
      textBox1->Location = Point(24,160);
      textBox1->Name = "textBox1";
      textBox1->Size = System::Drawing::Size( 240, 24 );
      array<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 = gcnew ArrayList;
      USStates->Add( gcnew USState( "Alabama","AL" ) );
      USStates->Add( gcnew USState( "Washington","WA" ) );
      USStates->Add( gcnew USState( "West Virginia","WV" ) );
      USStates->Add( gcnew USState( "Wisconsin","WI" ) );
      USStates->Add( gcnew USState( "Wyoming","WY" ) );
      ListBox1->SelectedValueChanged += gcnew EventHandler( this, &ListBoxSample3::ListBox1_SelectedValueChanged );
      ListBox1->DataSource = USStates;
      ListBox1->DisplayMember = "LongName";
      ListBox1->ValueMember = "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( gcnew ListBoxSample3 );
}
package MyListControlSample;

import System.*;
import System.Windows.Forms.*;
import System.Drawing.*;
import System.Collections.*;

public class USState
{
    private String myShortName;
    private String myLongName;

    public USState(String strLongName, String strShortName)
    {
        this.myShortName = strShortName;
        this.myLongName = strLongName;
    } //USState

    /** @property
     */
    public String get_ShortName()
    {
        return myShortName;
    }//get_ShortName

    /** @property 
     */
    public String get_LongName()
    {
        return myLongName;
    }//get_LongName

    public String ToString()
    {
        return this.get_ShortName() + " - " + this.get_LongName();
    } //ToString
} //USState

public class ListBoxSample3 extends Form
{
    private ListBox listBox1 = new ListBox();
    private TextBox textBox1 = new TextBox();

    /** @attribute STAThread()
     */
    public static void main(String[] args)
    {
        Application.Run(new ListBoxSample3());
    } //main

    public ListBoxSample3()
    {
        this.set_ClientSize(new Size(292, 181));
        this.set_Text("ListBox Sample3");

        listBox1.set_Location(new Point(24, 16));
        listBox1.set_Name("ListBox1");
        listBox1.set_Size(new Size(232, 130));
        textBox1.set_Location(new Point(24, 160));
        textBox1.set_Name("textBox1");
        textBox1.set_Size(new Size(240, 24));
        this.get_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.add_SelectedValueChanged(
            new EventHandler(listBox1_SelectedValueChanged));
        listBox1.set_DataSource(uSStates);
        listBox1.set_DisplayMember("LongName");
        listBox1.set_ValueMember("ShortName");
    } //ListBoxSample3
    
    private void InitializeComponent()
    {
    } //InitializeComponent

    private void listBox1_SelectedValueChanged(Object sender, EventArgs e)
    {
        if (listBox1.get_SelectedIndex() != -1) {
            textBox1.set_Text(listBox1.get_SelectedValue().ToString());
        }
    } //listBox1_SelectedValueChanged
} //ListBoxSample3 

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

ListControl-Klasse
ListControl-Member
System.Windows.Forms-Namespace