ListControl.DataSource プロパティ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As ListControl Dim value As Object value = instance.DataSource instance.DataSource = value
/** @property */ public Object get_DataSource () /** @property */ public void set_DataSource (Object value)
IList インターフェイスまたは IListSource インターフェイスを実装する、DataSet または Array などのオブジェクト。既定値は null 参照 (Visual Basic では Nothing) です。


ComboBox コントロールおよび ListBox コントロールを設定するには 2 つの方法があります。
たとえば、Add メソッドを使用すると、オブジェクトを ComboBox に追加できます。また、ComboBox を設定する DataSource、DisplayMember、および ValueMember の各プロパティを使用することによっても、オブジェクトを ComboBox に追加できます。
DataSource プロパティを設定した場合、ユーザーは項目のコレクションを変更できません。
DataSource プロパティを設定するとデータ ソースが変更される場合は、DataSourceChanged イベントが発生します。このプロパティを設定するとデータ メンバが変更される場合は、DisplayMemberChanged イベントが発生します。
DataSource を null 参照 (Visual Basic では Nothing) に設定すると、DisplayMember が空の文字列 ("") に設定されます。

ListBox クラスによって実装された ListControl クラスの DataSource、DisplayMember、ValueMember、および SelectedValue の各メンバの使用方法を示す、アプリケーション全体のコード例を次に示します。この例では、ArrayList とリスト ボックスを読み込みます。ユーザーがリスト ボックスの項目を選択すると、選択した値を使用して、選択した項目に関連付けられているデータが返されます。
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

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からListControl.DataSource プロパティを検索する場合は、下記のリンクをクリックしてください。

- ListControl.DataSource プロパティのページへのリンク