ListControl.ValueMember プロパティ
ListControl 内の項目の実際の値として使用するプロパティを取得または設定します。
名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文
'宣言
Public Property ValueMember As String
'使用
Dim instance As ListControl
Dim value As String
value = instance.ValueMember
instance.ValueMember = value
public string ValueMember { get; set; }
public:
property String^ ValueMember {
String^ get ();
void set (String^ value);
}
/** @property */
public String get_ValueMember ()
/** @property */
public void set_ValueMember (String value)
public function get ValueMember () : String
public function set ValueMember (value : String)
プロパティ値
DataSource プロパティで指定されたコレクションに格納されているオブジェクト プロパティの名前を表す String。既定値は空の文字列 ("") です。
例外
例外の種類 | 条件 |
---|---|
指定されたプロパティが、DataSource プロパティで指定されたオブジェクト上に見つかりません。 |
解説
データを連結する場合は、ValueMember プロパティの内容を指定します。
プロパティを空の文字列 ("") または null 参照 (Visual Basic では Nothing) に設定すると、ValueMember プロパティをクリアできます。
新しい ValueMember プロパティを設定すると、ValueMemberChanged イベントおよび SelectedValueChanged イベントが発生します。
使用例
データを ArrayList に読み込み、ValueMember をリスト内のオブジェクトのプロパティに設定するコード例を次に示します。
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
.NET Compact Framework
サポート対象 : 2.0、1.0