Representa un control de cuadro combinado de Windows.
Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)
Visual Basic (Declaración)
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
Public Class ComboBox
Inherits ListControl
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class ComboBox : ListControl
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)]
public ref class ComboBox : public ListControl
/** @attribute ComVisibleAttribute(true) */
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */
public class ComboBox extends ListControl
ComVisibleAttribute(true)
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)
public class ComboBox extends ListControl
Un ComboBox muestra un campo de edición de cuadro de texto combinado con un ListBox y permite al usuario seleccionar elementos de la lista o escribir texto nuevo. El comportamiento predeterminado de ComboBox es mostrar un campo de edición con una lista desplegable oculta. La propiedad DropDownStyle determina el estilo que mostrará el cuadro combinado. Puede escribir un valor que proporcione una lista desplegable sencilla, en que la lista se muestra siempre; un cuadro de lista desplegable, en que la parte de texto no se puede editar y es necesario presionar una flecha para ver el cuadro de lista desplegable; o el cuadro de lista desplegable predeterminado, en que la parte de texto se puede editar y el usuario debe presionar la tecla de flecha para ver la lista. Para que se muestre una lista que el usuario no puede editar, use un control ListBox.
Para agregar objetos a la lista en tiempo de ejecución, asigne una matriz de referencias a objetos con el método AddRange. De este modo la lista muestra el valor de cadena predeterminado para cada objeto. Puede agregar objetos individuales con el método Add.
Además de la funcionalidad de presentación y selección, ComboBox también proporciona funciones que permiten agregar de manera eficaz elementos al control ComboBox y buscar texto en los elementos de la lista. Con los métodos BeginUpdate y EndUpdate puede agregar un gran número de elementos al ComboBox sin que el control se tenga que volver a dibujar cada vez que se agrega un elemento a la lista. Los métodos FindString y FindStringExact permiten buscar un elemento de la lista que contenga una cadena de búsqueda específica.
Estas propiedades se pueden usar para administrar el elemento de la lista seleccionado actualmente, la propiedad Text para especificar la cadena que se muestra en el campo de edición, la propiedad SelectedIndex para obtener o establecer el elemento actual y la propiedad SelectedItem para obtener o establecer una referencia al objeto.
Nota: |
|---|
| Si tiene un ListBox, ComboBox o CheckedListBox en una página con formularios Windows Forms de base y desea modificar las colecciones de cadenas de esos controles en un formulario derivado, las colecciones de cadenas de estos controles del formulario base deben estar vacías. Si las colecciones de cadenas no están vacías, se establecen como de sólo lectura cuando se deriva otro formulario. |
En el ejemplo siguiente se muestra una aplicación completa que ilustra cómo se puede usar el método Add para agregar elementos a un ComboBox, el método FindString para buscar elementos en un ComboBox y los métodos BeginUpdate y EndUpdate para agregar un gran número de elementos a un ComboBox de forma eficaz.
Imports System
Imports System.Windows.Forms
Namespace ComboBoxSampleNamespace
Public Class ComboBoxSample
Inherits System.Windows.Forms.Form
Private addButton As System.Windows.Forms.Button
Private textBox2 As System.Windows.Forms.TextBox
Private addGrandButton As System.Windows.Forms.Button
Private comboBox1 As System.Windows.Forms.ComboBox
Private showSelectedButton As System.Windows.Forms.Button
Private textBox1 As System.Windows.Forms.TextBox
Private findButton As System.Windows.Forms.Button
Private label1 As System.Windows.Forms.Label
Public Sub New()
MyBase.New()
Me.InitializeComponent()
End Sub
<System.STAThreadAttribute()> Public Shared Sub Main()
System.Windows.Forms.Application.Run(New ComboBoxSample())
End Sub
Private Sub InitializeComponent()
Me.addButton = New System.Windows.Forms.Button()
Me.textBox2 = New System.Windows.Forms.TextBox()
Me.addGrandButton = New System.Windows.Forms.Button()
Me.comboBox1 = New System.Windows.Forms.ComboBox()
Me.showSelectedButton = New System.Windows.Forms.Button()
Me.textBox1 = New System.Windows.Forms.TextBox()
Me.findButton = New System.Windows.Forms.Button()
Me.label1 = New System.Windows.Forms.Label()
Me.addButton.Location = New System.Drawing.Point(248, 32)
Me.addButton.Size = New System.Drawing.Size(40, 24)
Me.addButton.TabIndex = 1
Me.addButton.Text = "Add"
AddHandler Me.addButton.Click, AddressOf Me.addButton_Click
Me.textBox2.Location = New System.Drawing.Point(8, 64)
Me.textBox2.Size = New System.Drawing.Size(232, 20)
Me.textBox2.TabIndex = 6
Me.textBox2.Text = ""
Me.addGrandButton.Location = New System.Drawing.Point(8, 96)
Me.addGrandButton.Size = New System.Drawing.Size(280, 23)
Me.addGrandButton.TabIndex = 2
Me.addGrandButton.Text = "Add 1,000 Items"
AddHandler Me.addGrandButton.Click, AddressOf Me.addGrandButton_Click
Me.comboBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right)
Me.comboBox1.DropDownWidth = 280
Me.comboBox1.Items.AddRange(New Object() {"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"})
Me.comboBox1.Location = New System.Drawing.Point(8, 248)
Me.comboBox1.Size = New System.Drawing.Size(280, 21)
Me.comboBox1.TabIndex = 7
Me.showSelectedButton.Location = New System.Drawing.Point(8, 128)
Me.showSelectedButton.Size = New System.Drawing.Size(280, 24)
Me.showSelectedButton.TabIndex = 4
Me.showSelectedButton.Text = "What Item is Selected?"
AddHandler Me.showSelectedButton.Click, AddressOf Me.showSelectedButton_Click
Me.textBox1.Location = New System.Drawing.Point(8, 32)
Me.textBox1.Size = New System.Drawing.Size(232, 20)
Me.textBox1.TabIndex = 5
Me.textBox1.Text = ""
Me.findButton.Location = New System.Drawing.Point(248, 64)
Me.findButton.Size = New System.Drawing.Size(40, 24)
Me.findButton.TabIndex = 3
Me.findButton.Text = "Find"
AddHandler Me.findButton.Click, AddressOf Me.findButton_Click
Me.label1.Location = New System.Drawing.Point(8, 224)
Me.label1.Size = New System.Drawing.Size(144, 23)
Me.label1.TabIndex = 0
Me.label1.Text = "Test ComboBox"
Me.ClientSize = New System.Drawing.Size(292, 273)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.comboBox1, Me.textBox2, Me.textBox1, Me.showSelectedButton, Me.findButton, Me.addGrandButton, Me.addButton, Me.label1})
Me.Text = "ComboBox Sample"
End Sub
Private Sub addButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
comboBox1.Items.Add(textBox1.Text)
End Sub
Private Sub findButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim index As Integer
index = comboBox1.FindString(textBox2.Text)
comboBox1.SelectedIndex = index
End Sub
Private Sub addGrandButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
comboBox1.BeginUpdate()
Dim I As Integer
For I = 0 To 1000
comboBox1.Items.Add("Item 1" + i.ToString())
Next
comboBox1.EndUpdate()
End Sub
Private Sub showSelectedButton_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Dim selectedIndex As Integer
selectedIndex = comboBox1.SelectedIndex
Dim selectedItem As Object
selectedItem = comboBox1.SelectedItem
MessageBox.Show("Selected Item Text: " & selectedItem.ToString() & Microsoft.VisualBasic.Constants.vbCrLf & _
"Index: " & selectedIndex.ToString())
End Sub
End Class
End Namespace
using System;
using System.Windows.Forms;
namespace Win32Form1Namespace {
public class Win32Form1 : System.Windows.Forms.Form {
private System.Windows.Forms.Button addButton;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Button addGrandButton;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Button showSelectedButton;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button findButton;
private System.Windows.Forms.Label label1;
public Win32Form1() {
this.InitializeComponent();
}
[System.STAThreadAttribute()]
public static void Main() {
System.Windows.Forms.Application.Run(new Win32Form1());
}
private void InitializeComponent() {
this.addButton = new System.Windows.Forms.Button();
this.textBox2 = new System.Windows.Forms.TextBox();
this.addGrandButton = new System.Windows.Forms.Button();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.showSelectedButton = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.findButton = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.addButton.Location = new System.Drawing.Point(248, 32);
this.addButton.Size = new System.Drawing.Size(40, 24);
this.addButton.TabIndex = 1;
this.addButton.Text = "Add";
this.addButton.Click += new System.EventHandler(this.addButton_Click);
this.textBox2.Location = new System.Drawing.Point(8, 64);
this.textBox2.Size = new System.Drawing.Size(232, 20);
this.textBox2.TabIndex = 6;
this.textBox2.Text = "";
this.addGrandButton.Location = new System.Drawing.Point(8, 96);
this.addGrandButton.Size = new System.Drawing.Size(280, 23);
this.addGrandButton.TabIndex = 2;
this.addGrandButton.Text = "Add 1,000 Items";
this.addGrandButton.Click += new System.EventHandler(this.addGrandButton_Click);
this.comboBox1.Anchor = ((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right);
this.comboBox1.DropDownWidth = 280;
this.comboBox1.Items.AddRange(new object[] {"Item 1",
"Item 2",
"Item 3",
"Item 4",
"Item 5"});
this.comboBox1.Location = new System.Drawing.Point(8, 248);
this.comboBox1.Size = new System.Drawing.Size(280, 21);
this.comboBox1.TabIndex = 7;
this.showSelectedButton.Location = new System.Drawing.Point(8, 128);
this.showSelectedButton.Size = new System.Drawing.Size(280, 24);
this.showSelectedButton.TabIndex = 4;
this.showSelectedButton.Text = "What Item is Selected?";
this.showSelectedButton.Click += new System.EventHandler(this.showSelectedButton_Click);
this.textBox1.Location = new System.Drawing.Point(8, 32);
this.textBox1.Size = new System.Drawing.Size(232, 20);
this.textBox1.TabIndex = 5;
this.textBox1.Text = "";
this.findButton.Location = new System.Drawing.Point(248, 64);
this.findButton.Size = new System.Drawing.Size(40, 24);
this.findButton.TabIndex = 3;
this.findButton.Text = "Find";
this.findButton.Click += new System.EventHandler(this.findButton_Click);
this.label1.Location = new System.Drawing.Point(8, 224);
this.label1.Size = new System.Drawing.Size(144, 23);
this.label1.TabIndex = 0;
this.label1.Text = "Test ComboBox";
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.AddRange(new System.Windows.Forms.Control[] {this.comboBox1,
this.textBox2,
this.textBox1,
this.showSelectedButton,
this.findButton,
this.addGrandButton,
this.addButton,
this.label1});
this.Text = "ComboBox Sample";
}
private void addButton_Click(object sender, System.EventArgs e) {
comboBox1.Items.Add(textBox1.Text);
}
private void addGrandButton_Click(object sender, System.EventArgs e) {
comboBox1.BeginUpdate();
for (int i = 0; i < 1000; i++) {
comboBox1.Items.Add("Item 1" + i.ToString());
}
comboBox1.EndUpdate();
}
private void findButton_Click(object sender, System.EventArgs e) {
int index = comboBox1.FindString(textBox2.Text);
comboBox1.SelectedIndex = index;
}
private void showSelectedButton_Click(object sender, System.EventArgs e) {
int selectedIndex = comboBox1.SelectedIndex;
Object selectedItem = comboBox1.SelectedItem;
MessageBox.Show("Selected Item Text: " + selectedItem.ToString() + "\n" +
"Index: " + selectedIndex.ToString());
}
}
}
#using <System.dll>
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
using namespace System;
using namespace System::Windows::Forms;
namespace Win32Form1Namespace
{
public ref class Win32Form1: public System::Windows::Forms::Form
{
private:
System::Windows::Forms::Button^ addButton;
System::Windows::Forms::TextBox^ textBox2;
System::Windows::Forms::Button^ addGrandButton;
System::Windows::Forms::ComboBox^ comboBox1;
System::Windows::Forms::Button^ showSelectedButton;
System::Windows::Forms::TextBox^ textBox1;
System::Windows::Forms::Button^ findButton;
System::Windows::Forms::Label ^ label1;
public:
Win32Form1()
{
this->InitializeComponent();
}
private:
void InitializeComponent()
{
this->addButton = gcnew System::Windows::Forms::Button;
this->textBox2 = gcnew System::Windows::Forms::TextBox;
this->addGrandButton = gcnew System::Windows::Forms::Button;
this->comboBox1 = gcnew System::Windows::Forms::ComboBox;
this->showSelectedButton = gcnew System::Windows::Forms::Button;
this->textBox1 = gcnew System::Windows::Forms::TextBox;
this->findButton = gcnew System::Windows::Forms::Button;
this->label1 = gcnew System::Windows::Forms::Label;
this->addButton->Location = System::Drawing::Point( 248, 32 );
this->addButton->Size = System::Drawing::Size( 40, 24 );
this->addButton->TabIndex = 1;
this->addButton->Text = "Add";
this->addButton->Click += gcnew System::EventHandler(
this, &Win32Form1::addButton_Click );
this->textBox2->Location = System::Drawing::Point( 8, 64 );
this->textBox2->Size = System::Drawing::Size( 232, 20 );
this->textBox2->TabIndex = 6;
this->textBox2->Text = "";
this->addGrandButton->Location = System::Drawing::Point( 8, 96 );
this->addGrandButton->Size = System::Drawing::Size( 280, 23 );
this->addGrandButton->TabIndex = 2;
this->addGrandButton->Text = "Add 1, 000 Items";
this->addGrandButton->Click += gcnew System::EventHandler(
this, &Win32Form1::addGrandButton_Click );
this->comboBox1->Anchor = (System::Windows::Forms::AnchorStyles)(
(System::Windows::Forms::AnchorStyles::Bottom | System::Windows::Forms::AnchorStyles::Left) |
System::Windows::Forms::AnchorStyles::Right);
this->comboBox1->DropDownWidth = 280;
array<Object^>^ objectArray = {"Item 1",
"Item 2",
"Item 3",
"Item 4",
"Item 5"};
this->comboBox1->Items->AddRange( objectArray );
this->comboBox1->Location = System::Drawing::Point( 8, 248 );
this->comboBox1->Size = System::Drawing::Size( 280, 21 );
this->comboBox1->TabIndex = 7;
this->showSelectedButton->Location = System::Drawing::Point( 8, 128 );
this->showSelectedButton->Size = System::Drawing::Size( 280, 24 );
this->showSelectedButton->TabIndex = 4;
this->showSelectedButton->Text = "What Item is Selected?";
this->showSelectedButton->Click += gcnew System::EventHandler(
this, &Win32Form1::showSelectedButton_Click );
this->textBox1->Location = System::Drawing::Point( 8, 32 );
this->textBox1->Size = System::Drawing::Size( 232, 20 );
this->textBox1->TabIndex = 5;
this->textBox1->Text = "";
this->findButton->Location = System::Drawing::Point( 248, 64 );
this->findButton->Size = System::Drawing::Size( 40, 24 );
this->findButton->TabIndex = 3;
this->findButton->Text = "Find";
this->findButton->Click += gcnew System::EventHandler(
this, &Win32Form1::findButton_Click );
this->label1->Location = System::Drawing::Point( 8, 224 );
this->label1->Size = System::Drawing::Size( 144, 23 );
this->label1->TabIndex = 0;
this->label1->Text = "Test ComboBox";
this->ClientSize = System::Drawing::Size( 292, 273 );
array<System::Windows::Forms::Control^>^ controlsArray = {this->comboBox1,
this->textBox2,
this->textBox1,
this->showSelectedButton,
this->findButton,
this->addGrandButton,
this->addButton,
this->label1};
this->Controls->AddRange( controlsArray );
this->Text = "ComboBox Sample";
}
void addButton_Click( Object^ sender, System::EventArgs^ e )
{
comboBox1->Items->Add( textBox1->Text );
}
void addGrandButton_Click( Object^ sender, System::EventArgs^ e )
{
comboBox1->BeginUpdate();
for ( int i = 0; i < 1000; i++ )
{
comboBox1->Items->Add( "Item 1 " + i.ToString() );
}
comboBox1->EndUpdate();
}
void findButton_Click( Object^ sender, System::EventArgs^ e )
{
int index = comboBox1->FindString( textBox2->Text );
comboBox1->SelectedIndex = index;
}
void showSelectedButton_Click( Object^ sender, System::EventArgs^ e )
{
int selectedIndex = comboBox1->SelectedIndex;
Object^ selectedItem = comboBox1->SelectedItem;
MessageBox::Show( "Selected Item Text: " + selectedItem->ToString() + "\n" +
"Index: " + selectedIndex.ToString() );
}
};
}
[System::STAThreadAttribute]
int main()
{
System::Windows::Forms::Application::Run( gcnew Win32Form1Namespace::Win32Form1 );
}
package Win32Form1Namespace;
import System.*;
import System.Windows.Forms.*;
public class Win32Form1 extends System.Windows.Forms.Form
{
private System.Windows.Forms.Button addButton;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Button addGrandButton;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Button showSelectedButton;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Button findButton;
private System.Windows.Forms.Label label1;
public Win32Form1()
{
this.InitializeComponent();
} //Win32Form1
/** @attribute System.STAThreadAttribute()
*/
public static void main(String[] args)
{
System.Windows.Forms.Application.Run(new Win32Form1());
} //main
private void InitializeComponent()
{
this.addButton = new System.Windows.Forms.Button();
this.textBox2 = new System.Windows.Forms.TextBox();
this.addGrandButton = new System.Windows.Forms.Button();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.showSelectedButton = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.findButton = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.addButton.set_Location(new System.Drawing.Point(248, 32));
this.addButton.set_Size(new System.Drawing.Size(40, 24));
this.addButton.set_TabIndex(1);
this.addButton.set_Text("Add");
this.addButton.add_Click(new System.EventHandler(this.addButton_Click));
this.textBox2.set_Location(new System.Drawing.Point(8, 64));
this.textBox2.set_Size(new System.Drawing.Size(232, 20));
this.textBox2.set_TabIndex(6);
this.textBox2.set_Text("");
this.addGrandButton.set_Location(new System.Drawing.Point(8, 96));
this.addGrandButton.set_Size(new System.Drawing.Size(280, 23));
this.addGrandButton.set_TabIndex(2);
this.addGrandButton.set_Text("Add 1,000 Items");
this.addGrandButton.add_Click(new System.EventHandler(
this.addGrandButton_Click));
this.comboBox1.set_Anchor(System.Windows.Forms.AnchorStyles.Bottom
| System.Windows.Forms.AnchorStyles.Left
| System.Windows.Forms.AnchorStyles.Right);
this.comboBox1.set_DropDownWidth(280);
this.comboBox1.get_Items().AddRange(new Object[]
{ "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" });
this.comboBox1.set_Location(new System.Drawing.Point(8, 248));
this.comboBox1.set_Size(new System.Drawing.Size(280, 21));
this.comboBox1.set_TabIndex(7);
this.showSelectedButton.set_Location(new System.Drawing.Point(8, 128));
this.showSelectedButton.set_Size(new System.Drawing.Size(280, 24));
this.showSelectedButton.set_TabIndex(4);
this.showSelectedButton.set_Text("What Item is Selected?");
this.showSelectedButton.add_Click(new System.EventHandler(
this.showSelectedButton_Click));
this.textBox1.set_Location(new System.Drawing.Point(8, 32));
this.textBox1.set_Size(new System.Drawing.Size(232, 20));
this.textBox1.set_TabIndex(5);
this.textBox1.set_Text("");
this.findButton.set_Location(new System.Drawing.Point(248, 64));
this.findButton.set_Size(new System.Drawing.Size(40, 24));
this.findButton.set_TabIndex(3);
this.findButton.set_Text("Find");
this.findButton.add_Click(new System.EventHandler(
this.findButton_Click));
this.label1.set_Location(new System.Drawing.Point(8, 224));
this.label1.set_Size(new System.Drawing.Size(144, 23));
this.label1.set_TabIndex(0);
this.label1.set_Text("Test ComboBox");
this.set_ClientSize(new System.Drawing.Size(292, 273));
this.get_Controls().AddRange(new System.Windows.Forms.Control[]
{ this.comboBox1, this.textBox2, this.textBox1,
this.showSelectedButton, this.findButton, this.addGrandButton,
this.addButton, this.label1 });
this.set_Text("ComboBox Sample");
} //InitializeComponent
private void addButton_Click(Object sender, System.EventArgs e)
{
comboBox1.get_Items().Add(textBox1.get_Text());
} //addButton_Click
private void addGrandButton_Click(Object sender, System.EventArgs e)
{
comboBox1.BeginUpdate();
for (int i = 0; i < 1000; i++) {
comboBox1.get_Items().Add("Item 1" + ((Int32)i).ToString());
}
comboBox1.EndUpdate();
} //addGrandButton_Click
private void findButton_Click(Object sender, System.EventArgs e)
{
int index = comboBox1.FindString(textBox2.get_Text());
comboBox1.set_SelectedIndex(index);
} //findButton_Click
private void showSelectedButton_Click(Object sender, System.EventArgs e)
{
int selectedIndex = comboBox1.get_SelectedIndex();
Object selectedItem = comboBox1.get_SelectedItem();
MessageBox.Show("Selected Item Text: " + selectedItem.ToString()
+ "\n" + "Index: " + ((Int32)selectedIndex).ToString());
} //showSelectedButton_Click
En el siguiente ejemplo de código se utilizan ToolStripControlHost y ComboBox para mostrar un objeto ToolStripDropDown como TreeView.
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ListControl
System.Windows.Forms.ComboBox
Microsoft.CLRAdmin.DataGridComboBox
Microsoft.VisualBasic.Compatibility.VB6.DriveListBox
System.Windows.Forms.DataGridViewComboBoxEditingControl
Seguridad para subprocesos
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter
Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.
.NET Framework
Compatible con: 3.0, 2.0, 1.1, 1.0
.NET Compact Framework
Compatible con: 2.0, 1.0