ListControl 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
public ref class ListControl abstract : System::Windows::Forms::Control
public abstract class ListControl : System.Windows.Forms.Control
[System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "SelectedValue")]
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class ListControl : System.Windows.Forms.Control
[System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "SelectedValue")]
public abstract class ListControl : System.Windows.Forms.Control
type ListControl = class
inherit Control
[<System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "SelectedValue")>]
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ListControl = class
inherit Control
[<System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "SelectedValue")>]
type ListControl = class
inherit Control
Public MustInherit Class ListControl
Inherits Control
- 繼承
- 衍生
- 屬性
範例
下列程式代碼範例是一個完整的應用程式,示範如何使用 DataSource類別實作ListBox的 ListControl 、DisplayMember、 ValueMember和 SelectedValue 類別成員。 此範例會載入 ArrayList 和 清單框。 當使用者在清單框中選取專案時,會使用選取的值來傳回與選取專案相關聯的數據。
#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;
}
}
};
public ref class ListBoxSample3: public Form
{
private:
ListBox^ ListBox1;
Label^ label1;
TextBox^ textBox1;
public:
ListBoxSample3()
{
ListBox1 = gcnew ListBox;
label1 = gcnew Label;
textBox1 = gcnew TextBox;
this->ClientSize = System::Drawing::Size(307, 206 );
this->Text = "ListBox Sample3";
ListBox1->Location = Point(54,16);
ListBox1->Name = "ListBox1";
ListBox1->Size = System::Drawing::Size( 240, 130 );
label1->Location = Point(14,150);
label1->Name = "label1";
label1->Size = System::Drawing::Size(40, 24);
label1->Text = "Value";
textBox1->Location = Point(54,150);
textBox1->Name = "textBox1";
textBox1->Size = System::Drawing::Size( 240, 24 );
array<Control^>^temp2 = {ListBox1,label1, textBox1};
this->Controls->AddRange( temp2 );
// Populate the list box using an array as 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->DataSource = USStates;
ListBox1->DisplayMember = "LongName";
ListBox1->ValueMember = "ShortName";
ListBox1->SelectedValueChanged += gcnew EventHandler( this, &ListBoxSample3::ListBox1_SelectedValueChanged );
ListBox1->SetSelected(0, false);
}
void InitializeComponent(){}
private:
void ListBox1_SelectedValueChanged( Object^ /*sender*/, EventArgs^ /*e*/ )
{
textBox1->Text="";
if ( ListBox1->SelectedIndex != -1 )
textBox1->Text = ListBox1->SelectedValue->ToString();
}
};
[STAThread]
int main()
{
Application::Run( gcnew ListBoxSample3 );
}
using System;
using System.Windows.Forms;
using System.Drawing;
using System.Collections;
namespace MyListControlSample
{
public class ListBoxSample3 : Form
{
private ListBox ListBox1 = new ListBox();
private Label label1 = new Label();
private TextBox textBox1 = new TextBox();
[STAThread]
static void Main()
{
Application.Run(new ListBoxSample3());
}
public ListBoxSample3()
{
this.ClientSize = new Size(307, 206);
this.Text = "ListBox Sample3";
ListBox1.Location = new Point(54, 16);
ListBox1.Name = "ListBox1";
ListBox1.Size = new Size(240, 130);
label1.Location = new Point(14, 150);
label1.Name = "label1";
label1.Size = new Size(40, 24);
label1.Text = "Value";
textBox1.Location = new Point(54, 150);
textBox1.Name = "textBox1";
textBox1.Size = new Size(240, 24);
this.Controls.AddRange(new Control[] { ListBox1, label1, textBox1 });
// Populate the list box using an array as DataSource.
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.DataSource = USStates;
// Set the long name as the property to be displayed and the short
// name as the value to be returned when a row is selected. Here
// these are properties; if we were binding to a database table or
// query these could be column names.
ListBox1.DisplayMember = "LongName";
ListBox1.ValueMember = "ShortName";
// Bind the SelectedValueChanged event to our handler for it.
ListBox1.SelectedValueChanged +=
new EventHandler(ListBox1_SelectedValueChanged);
// Ensure the form opens with no rows selected.
ListBox1.ClearSelected();
}
private void InitializeComponent()
{
}
private void ListBox1_SelectedValueChanged(object sender, EventArgs e)
{
if (ListBox1.SelectedIndex != -1)
{
textBox1.Text = ListBox1.SelectedValue.ToString();
// If we also wanted to get the displayed text we could use
// the SelectedItem item property:
// string s = ((USState)ListBox1.SelectedItem).LongName;
}
}
}
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;
}
}
}
}
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Collections
Public Class ListBoxSample3
Inherits Form
Private ListBox1 As New ListBox()
Private label1 As New Label()
Private textBox1 As New TextBox()
<STAThread()> _
Shared Sub Main()
Application.Run(New ListBoxSample3())
End Sub
Public Sub New()
Me.ClientSize = New Size(307, 206)
Me.Text = "ListBox Sample3"
ListBox1.Location = New Point(54, 16)
ListBox1.Name = "ListBox1"
ListBox1.Size = New Size(240, 130)
label1.Location = New Point(14, 150)
label1.Name = "label1"
label1.Size = New Size(40, 24)
label1.Text = "Value"
textBox1.Location = New Point(54, 150)
textBox1.Name = "textBox1"
textBox1.Size = New Size(240, 24)
Me.Controls.AddRange(New Control() {ListBox1, label1, textBox1})
' Populate the list box using an array as DataSource.
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"))
ListBox1.DataSource = USStates
' Set the long name as the property to be displayed and the short
' name as the value to be returned when a row is selected. Here
' these are properties; if we were binding to a database table or
' query these could be column names.
ListBox1.DisplayMember = "LongName"
ListBox1.ValueMember = "ShortName"
' Bind the SelectedValueChanged event to our handler for it.
AddHandler ListBox1.SelectedValueChanged, AddressOf ListBox1_SelectedValueChanged
' Ensure the form opens with no rows selected.
ListBox1.ClearSelected()
End Sub
Private Sub InitializeComponent()
End Sub
Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As EventArgs)
If ListBox1.SelectedIndex <> -1 Then
textBox1.Text = ListBox1.SelectedValue.ToString()
' If we also wanted to get the displayed text we could use
' the SelectedItem item property:
' Dim s = CType(ListBox1.SelectedItem, USState).LongName
End If
End Sub
End Class
Public Class USState
Private myShortName As String
Private myLongName As String
Public Sub New(ByVal strLongName As String, ByVal strShortName As String)
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
End Class
備註
類別ListControl提供和 ComboBox 控件之通用項目的實作ListBox。
下列屬性是數據系結 ListBox 使用者 ComboBox的主要考慮: DataSource、 DisplayMember、 SelectedValue和 ValueMember 屬性。
建構函式
ListControl() |
初始化 ListControl 類別的新執行個體。 |
屬性
AccessibilityObject |
取得指定給控制項的 AccessibleObject。 (繼承來源 Control) |
AccessibleDefaultActionDescription |
取得或設定協助用戶端應用程式所使用的控制項的預設動作描述。 (繼承來源 Control) |
AccessibleDescription |
取得或設定協助工具用戶端應用程式使用之控制項的描述。 (繼承來源 Control) |
AccessibleName |
取得或設定協助工具用戶端應用程式使用的控制項名稱。 (繼承來源 Control) |
AccessibleRole |
取得或設定控制項的可存取角色。 (繼承來源 Control) |
AllowDrop |
取得或設定值,指出控制項是否能接受使用者拖放上來的資料。 (繼承來源 Control) |
AllowSelection |
取得值,指出此清單是否啟用清單項目的選取。 |
Anchor |
取得或設定控制項繫結至的容器邊緣,並決定控制項隨其父代重新調整大小的方式。 (繼承來源 Control) |
AutoScrollOffset |
取得或設定此控制項在 ScrollControlIntoView(Control) 中要捲動到哪一個位置。 (繼承來源 Control) |
AutoSize |
這個屬性與這個類別無關。 (繼承來源 Control) |
BackColor |
取得或設定控制項的背景色彩。 (繼承來源 Control) |
BackgroundImage |
取得或設定在控制項中顯示的背景影像。 (繼承來源 Control) |
BackgroundImageLayout |
取得或設定在 ImageLayout 列舉類型中所定義的背景影像配置。 (繼承來源 Control) |
BindingContext |
取得或設定控制項的 BindingContext。 (繼承來源 Control) |
Bottom |
取得控制項下邊緣和其容器工作區 (Client Area) 上邊緣之間的距離 (單位為像素)。 (繼承來源 Control) |
Bounds |
取得或設定控制項 (包括其非工作區項目) 相對於父控制項之大小和位置 (單位為像素)。 (繼承來源 Control) |
CanEnableIme |
取得值,這個值表示 ImeMode 屬性是否可以設定為使用中的值,以啟用 IME 支援。 (繼承來源 Control) |
CanFocus |
取得指示控制項是否能取得焦點的值。 (繼承來源 Control) |
CanRaiseEvents |
判斷是否可以在控制項上引發事件。 (繼承來源 Control) |
CanSelect |
取得指示能否選取控制項的值。 (繼承來源 Control) |
Capture |
取得或設定值,指出控制項是否捕捉住滑鼠。 (繼承來源 Control) |
CausesValidation |
取得或設定值,指出控制項取得焦點時,是否會在任何需要驗證的控制項上執行驗證。 (繼承來源 Control) |
ClientRectangle |
取得表示控制項工作區的矩形。 (繼承來源 Control) |
ClientSize |
取得或設定控制項工作區的高度和寬度。 (繼承來源 Control) |
CompanyName |
取得包含控制項之應用程式的公司名稱或建立者。 (繼承來源 Control) |
Container |
取得包含 IContainer 的 Component。 (繼承來源 Component) |
ContainsFocus |
取得指示控制項 (或其子控制項之一) 目前是否擁有輸入焦點的值。 (繼承來源 Control) |
ContextMenu |
取得或設定與控制項關聯的捷徑功能表。 (繼承來源 Control) |
ContextMenuStrip |
取得或設定與這個控制項相關的 ContextMenuStrip。 (繼承來源 Control) |
Controls |
取得控制項中包含的控制項集合。 (繼承來源 Control) |
Created |
取得值,指出是否已經建立控制項。 (繼承來源 Control) |
CreateParams |
建立控制代碼時,取得必要的建立參數。 (繼承來源 Control) |
Cursor |
取得或設定滑鼠指標移至控制項上時顯示的游標。 (繼承來源 Control) |
DataBindings |
取得控制項的資料繫結 (Data Binding)。 (繼承來源 Control) |
DataContext |
取得或設定數據系結用途的數據內容。 這是環境屬性。 (繼承來源 Control) |
DataManager |
取得與這個控制項相關的 CurrencyManager。 |
DataSource |
取得或設定這個 ListControl 的資料來源。 |
DefaultCursor |
取得或設定控制項的預設游標。 (繼承來源 Control) |
DefaultImeMode |
取得控制項支援的預設輸入法 (IME) 模式。 (繼承來源 Control) |
DefaultMargin |
取得控制項之間的預設指定間距 (單位為像素)。 (繼承來源 Control) |
DefaultMaximumSize |
取得指定為控制項的預設大小之最大值的長度和高度 (單位為像素)。 (繼承來源 Control) |
DefaultMinimumSize |
取得指定為控制項的預設大小之最小值的長度和高度 (單位為像素)。 (繼承來源 Control) |
DefaultPadding |
取得控制項內容的預設內部間距,以像素為單位。 (繼承來源 Control) |
DefaultSize |
取得控制項的預設大小。 (繼承來源 Control) |
DesignMode |
取得值,指出 Component 目前是否處於設計模式。 (繼承來源 Component) |
DeviceDpi |
取得目前顯示控制項的顯示裝置的 DPI 值。 (繼承來源 Control) |
DisplayMember |
取得或設定要針對這個 ListControl 顯示的屬性。 |
DisplayRectangle |
取得表示控制項顯示區域的矩形。 (繼承來源 Control) |
Disposing |
取得值,指出基底 Control 類別是否正在處置的過程中。 (繼承來源 Control) |
Dock |
取得或設定停駐在其父控制項的控制項框線,並決定控制項隨其父代重新調整大小的方式。 (繼承來源 Control) |
DoubleBuffered |
取得或設定值,指出這個控制項是否應使用次要緩衝區重繪其介面,以減少或防止重繪閃動 (Flicker)。 (繼承來源 Control) |
Enabled |
取得或設定值,指出控制項是否可回應使用者互動。 (繼承來源 Control) |
Events |
取得附加在這個 Component 上的事件處理常式清單。 (繼承來源 Component) |
Focused |
取得指示控制項是否擁有輸入焦點的值。 (繼承來源 Control) |
Font |
取得或設定控制項顯示之文字字型。 (繼承來源 Control) |
FontHeight |
取得或設定控制項字型的高度。 (繼承來源 Control) |
ForeColor |
取得或設定控制項的前景色彩。 (繼承來源 Control) |
FormatInfo |
取得或設定提供自訂格式化行為的 IFormatProvider。 |
FormatString |
取得或設定格式規範字元,表示要如何顯示值。 |
FormattingEnabled |
取得或設定值,指出格式化是否會套用至 DisplayMember 的 ListControl 屬性。 |
Handle |
取得控制項要繫結的目標視窗控制代碼。 (繼承來源 Control) |
HasChildren |
取得指示控制項是否包含一或多個子控制項的值。 (繼承來源 Control) |
Height |
取得或設定控制項的高度。 (繼承來源 Control) |
ImeMode |
取得或設定控制項的輸入法 (IME) 模式。 (繼承來源 Control) |
ImeModeBase |
取得或設定控制項的 IME 模式。 (繼承來源 Control) |
InvokeRequired |
取得一個值。這個值會指示是否由於呼叫端是在建立控制項之執行緒以外的執行緒,因此在進行控制項的方法呼叫時,應呼叫叫用 (Invoke) 方法。 (繼承來源 Control) |
IsAccessible |
取得或設定值,指出可及性應用程式是否見得到控制項。 (繼承來源 Control) |
IsAncestorSiteInDesignMode |
指出此控件的其中一個上階是否已月臺,且該月臺位於 DesignMode 中。 這是唯讀的屬性。 (繼承來源 Control) |
IsDisposed |
取得指示控制項是否已經處置的值。 (繼承來源 Control) |
IsHandleCreated |
取得指示控制項是否有相關控制代碼的值。 (繼承來源 Control) |
IsMirrored |
取得值,指出是否左右反轉控制項。 (繼承來源 Control) |
LayoutEngine |
取得控制項之配置引擎的快取執行個體。 (繼承來源 Control) |
Left |
取得或設定控制項左邊緣和其容器工作區 (Client Area) 左邊緣之間的距離 (單位為像素)。 (繼承來源 Control) |
Location |
取得或設定對應至控制項容器左上角之控制項左上角的座標。 (繼承來源 Control) |
Margin |
取得或設定控制項之間的空格。 (繼承來源 Control) |
MaximumSize |
取得或設定 GetPreferredSize(Size) 可以指定的上限大小。 (繼承來源 Control) |
MinimumSize |
取得或設定 GetPreferredSize(Size) 可以指定的下限大小。 (繼承來源 Control) |
Name |
取得或設定控制項的名稱。 (繼承來源 Control) |
Padding |
取得或設定控制項內的邊框間距。 (繼承來源 Control) |
Parent |
取得或設定控制項的父容器。 (繼承來源 Control) |
PreferredSize |
取得能夠容納控制項的矩形區域的大小。 (繼承來源 Control) |
ProductName |
取得包含控制項的組件的產品名稱。 (繼承來源 Control) |
ProductVersion |
取得包含控制項的組件的版本。 (繼承來源 Control) |
RecreatingHandle |
取得指示控制項目前是否正重新建立其控制代碼的值。 (繼承來源 Control) |
Region |
取得或設定與控制項關聯的視窗區域。 (繼承來源 Control) |
RenderRightToLeft |
已淘汰.
已淘汰.
此屬性現在已過時。 (繼承來源 Control) |
ResizeRedraw |
取得或設定值,指出控制項重設大小時,是否會重繪本身。 (繼承來源 Control) |
Right |
取得控制項右邊緣和其容器工作區 (Client Area) 左邊緣之間的距離 (單位為像素)。 (繼承來源 Control) |
RightToLeft |
取得或設定值,指出控制項的項目是否對齊,以支援使用由右至左字型的地區設定。 (繼承來源 Control) |
ScaleChildren |
取得值,以判斷子控制項的縮放。 (繼承來源 Control) |
SelectedIndex |
在衍生類別中覆寫時,取得或設定目前選取項目的以零為起始的索引。 |
SelectedValue |
取得或設定 ValueMember 屬性指定的成員屬性值。 |
ShowFocusCues |
取得指示控制項是否應顯示焦點矩形 (Focus Rectangle) 的值。 (繼承來源 Control) |
ShowKeyboardCues |
取得值,指出使用者介面是否處於可顯示或隱藏鍵盤快速鍵的適當狀態下。 (繼承來源 Control) |
Site |
取得或設定控制項的站台。 (繼承來源 Control) |
Size |
取得或設定控制項的高度和寬度。 (繼承來源 Control) |
TabIndex |
取得或設定控制項容器中的控制項定位順序。 (繼承來源 Control) |
TabStop |
取得或設定值,指出使用者是否能使用 TAB 鍵,將焦點 (Focus) 給予這個控制項。 (繼承來源 Control) |
Tag |
取得或設定物件,其包含控制項相關資料。 (繼承來源 Control) |
Text |
取得或設定這個控制項的相關文字。 (繼承來源 Control) |
Top |
取得或設定控制項上邊緣和其容器工作區 (Client Area) 上邊緣之間的距離 (單位為像素)。 (繼承來源 Control) |
TopLevelControl |
取得沒有其他 Windows Form 父控制項的父控制項。 通常,這會是內含控制項最外層的 Form。 (繼承來源 Control) |
UseWaitCursor |
取得或設定值,指出是否將等待游標用於目前控制項和所有子控制項。 (繼承來源 Control) |
ValueMember |
取得或設定要當做 ListControl 中項目之實際值使用的屬性路徑。 |
Visible |
取得或設定值,這個值指出是否顯示控制項及其所有子控制項。 (繼承來源 Control) |
Width |
取得或設定控制項的寬度。 (繼承來源 Control) |
WindowTarget |
這個屬性與這個類別無關。 (繼承來源 Control) |
方法
事件
明確介面實作
IDropTarget.OnDragDrop(DragEventArgs) |
引發 DragDrop 事件。 (繼承來源 Control) |
IDropTarget.OnDragEnter(DragEventArgs) |
引發 DragEnter 事件。 (繼承來源 Control) |
IDropTarget.OnDragLeave(EventArgs) |
引發 DragLeave 事件。 (繼承來源 Control) |
IDropTarget.OnDragOver(DragEventArgs) |
引發 DragOver 事件。 (繼承來源 Control) |