次の方法で共有


ComboBox.DropDownStyle プロパティ

コンボ ボックスのスタイルを指定する値を取得または設定します。

Public Property DropDownStyle As ComboBoxStyle
[C#]
public ComboBoxStyle DropDownStyle {get; set;}
[C++]
public: __property ComboBoxStyle get_DropDownStyle();public: __property void set_DropDownStyle(ComboBoxStyle);
[JScript]
public function get DropDownStyle() : ComboBoxStyle;public function set DropDownStyle(ComboBoxStyle);

プロパティ値

ComboBoxStyle 値の 1 つ。既定値は ComboBoxStyle.DropDown です。

例外

例外の種類 条件
InvalidEnumArgumentException 代入された値が、 ComboBoxStyle 値の 1 つではありません。

解説

DropDownStyle プロパティは、ユーザーに表示されるインターフェイスを制御します。値を入力して、単純なドロップダウン (リストが常に表示される)、ドロップダウン リスト ボックス (テキスト部分が編集できず、リストを表示するには矢印をクリックする必要がある)、または既定のドロップダウン リスト ボックス (テキスト部分が編集でき、リストを表示するには方向キーを押す必要がある) を設定できます。ユーザーが編集できないリストを常に表示するには、 ListBox コントロールを使用します。

使用例

[Visual Basic, C#] MaxDropDownItems プロパティおよび DropDownStyle プロパティを設定し、 AddRange メソッドを使用して ComboBox に情報を読み込んで、ComboBox コントロールを初期化するコード例を次に示します。この例はまた、 SelectedIndexChanged イベントの処理方法も示しています。この例を実行するには、TextBox1 という名前の TextBox オブジェクトが配置されているフォームに次のコードを貼り付けて、フォームのコンストラクタまたは Load メソッドから InitializeComboBox メソッドを呼び出します。

 

    ' Declare comboBox1 as a ComboBox.
    Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox

    ' This method initializes the combo box, adding a large string 
    ' array but limiting the drop-down size to six rows so the combo box
    ' doesn't cover other controls when it expands.
    Private Sub InitializeComboBox()
        Me.ComboBox1 = New System.Windows.Forms.ComboBox
        Dim employees() As String = New String() {"Hamilton, David", _
            "Hensien, Kari", "Hammond, Maria", "Harris, Keith", _
            "Henshaw, Jeff D.", "Hanson, Mark", "Harnpadoungsataya, Sariya", _
            "Harrington, Mark", "Harris, Keith", "Hartwig, Doris", _
            "Harui, Roger", "Hassall, Mark", "Hasselberg, Jonas", _
            "Harnpadoungsataya, Sariya", "Henshaw, Jeff D.", "Henshaw, Jeff D.", _
            "Hensien, Kari", "Harris, Keith", "Henshaw, Jeff D.", _
            "Hensien, Kari", "Hasselberg, Jonas", "Harrington, Mark", _
            "Hedlund, Magnus", "Hay, Jeff", "Heidepriem, Brandon D."}

        ComboBox1.Items.AddRange(employees)
        Me.ComboBox1.Location = New System.Drawing.Point(136, 32)
        Me.ComboBox1.MaxDropDownItems = 5
        Me.ComboBox1.DropDownStyle = ComboBoxStyle.DropDown
        Me.ComboBox1.Name = "ComboBox1"
        Me.ComboBox1.Size = New System.Drawing.Size(136, 81)
        Me.ComboBox1.TabIndex = 0
        Me.Controls.Add(Me.ComboBox1)
    End Sub


    . . . 
    ' This method is called when the user changes his or her selection.
    ' It searches for all occurrences of the selected employee's
    ' name in the Items array and adds the employee's name and 
    ' the number of occurrences to TextBox1.Text.

    ' CAUTION   This code exposes a known bug: If the index passed to the 
    ' FindStringExact(searchString, index) method is the last index 
    ' of the array, the code throws an exception.
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim comboBox As comboBox = CType(sender, comboBox)

        ' Save the selected employee's name, because we will remove
        ' the employee's name from the list.
        Dim selectedEmployee = CType(ComboBox1.SelectedItem, String)

        Dim count As Integer = 0
        Dim resultIndex As Integer = -1

        ' Call the FindStringExact method to find the first 
        ' occurrence in the list.
        resultIndex = ComboBox1.FindStringExact(ComboBox1.SelectedItem)

        ' Remove the name as it is found, and increment the found count. 
        ' Then call the FindStringExact method again, passing in the index of the
        ' current found item so the search starts there instead of 
        ' at the beginning of the list.
        While (resultIndex <> -1)
            ComboBox1.Items.RemoveAt(resultIndex)
            count += 1
            resultIndex = ComboBox1.FindStringExact _
            (selectedEmployee, resultIndex)
        End While

        ' Update the text in Textbox1.
        TextBox1.Text = TextBox1.Text & Microsoft.VisualBasic.vbCrLf _
            & selectedEmployee & ": " & count
    End Sub

[C#] 
// Declare comboBox1 as a ComboBox.
internal System.Windows.Forms.ComboBox ComboBox1;

// This method initializes the combo box, adding a large string array
// but limiting the drop-down size to six rows so the combo box doesn't 
// cover other controls when it expands.
private void InitializeComboBox()
{
    this.ComboBox1 = new System.Windows.Forms.ComboBox();
    string[] employees = new string[]{"Hamilton, David", "Hensien, Kari",
            "Hammond, Maria", "Harris, Keith", "Henshaw, Jeff D.", 
            "Hanson, Mark", "Harnpadoungsataya, Sariya", 
            "Harrington, Mark", "Harris, Keith", "Hartwig, Doris", 
            "Harui, Roger", "Hassall, Mark", "Hasselberg, Jonas", 
            "Harnpadoungsataya, Sariya", "Henshaw, Jeff D.", 
            "Henshaw, Jeff D.", "Hensien, Kari", "Harris, Keith", 
            "Henshaw, Jeff D.", "Hensien, Kari", "Hasselberg, Jonas",
            "Harrington, Mark", "Hedlund, Magnus", "Hay, Jeff", 
            "Heidepriem, Brandon D."};

    ComboBox1.Items.AddRange(employees);
    this.ComboBox1.Location = new System.Drawing.Point(136, 32);
    this.ComboBox1.MaxDropDownItems = 5;
    this.ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
    this.ComboBox1.Name = "ComboBox1";
    this.ComboBox1.Size = new System.Drawing.Size(136, 81);
    this.ComboBox1.TabIndex = 0;
    this.Controls.Add(this.ComboBox1);
    
    // Associate the event-handling method with the 
    // SelectedIndexChanged event.
    this.ComboBox1.SelectedIndexChanged += 
        new System.EventHandler(ComboBox1_SelectedIndexChanged);
}
. . . 
// This method is called when the user changes his or her selection.
// It searches for all occurrences of the selected employee's
// name in the Items array and adds the employee's name and 
// the number of occurrences to TextBox1.Text.

// CAUTION   This code exposes a known bug: If the index passed to the 
// FindStringExact(searchString, index) method is the last index 
// of the array, the code throws an exception.
private void ComboBox1_SelectedIndexChanged(object sender, 
    System.EventArgs e)
{

    ComboBox comboBox = (ComboBox) sender;

    // Save the selected employee's name, because we will remove
    // the employee's name from the list.
    string selectedEmployee = (string) ComboBox1.SelectedItem;

    int count = 0;
    int resultIndex = -1;

    // Call the FindStringExact method to find the first 
    // occurrence in the list.
    resultIndex = ComboBox1.FindStringExact(selectedEmployee);

    // Remove the name as it is found, and increment the found count. 
    // Then call the FindStringExact method again, passing in the 
    // index of the current found item so the search starts there 
    // instead of at the beginning of the list.
    while (resultIndex!=-1)
    {
        ComboBox1.Items.RemoveAt(resultIndex);
        count += 1;
        resultIndex = ComboBox1.FindStringExact(selectedEmployee, 
            resultIndex);
    }
    // Update the text in Textbox1.
    TextBox1.Text = TextBox1.Text+ "\r\n" + selectedEmployee + ": "
        + count;
}

[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

ComboBox クラス | ComboBox メンバ | System.Windows.Forms 名前空間