バージョン

CheckBoxStyle プロパティ

チェックボックスがドロップダウン リストで各項目の隣に表示されるかどうかを返します。また '不確定 (Indeterminate)' 設定をサポートするかどうかも返します。
シンタックス
'宣言
 
Public Property CheckBoxStyle As Infragistics.Win.CheckStyle
public Infragistics.Win.CheckStyle CheckBoxStyle {get; set;}
解説

CheckBoxStyle プロパティは ValueList クラスによって公開される同じ名前のプロパティをミラーします。このプロパティは item'sCheckState プロパティが変更できるユーザー インターフェイスを有効化する方法を提供します。

プロパティを「None」に設定する場合 (デフォルト)、チェックボックスは表示されません。プロパティを「CheckBox」に設定する場合、「two-state」チェックボックスはコントロールにより表示されます。つまり、これは Indeterminate 状態をサポートしないチェックボックスです。プロパティを「TriState」に設定する場合、チェックボックスは 3 つの状態を表示できます - チェックされている、チェックされていない、または不確定。不定状態は True、False、または Null に設定できる値を表示する場合に便利です。

使用例
Imports Infragistics.Win
Imports Infragistics.Win.UltraWinEditors
Imports Infragistics.Win.UltraWinGrid
Imports System.Diagnostics

Public Class Form1
    Private _table As DataTable

    Public Sub New()

        Me.InitializeComponent()

        '   Bind the UltraComboEditor control to a data source.
        Me.ultraComboEditor1.DisplayMember = "Display"
        Me.ultraComboEditor1.ValueMember = "Value"
        Me.ultraComboEditor1.DataSource = Me.Table

        '   Bind the UltraCombo control to a data source.
        Me.ultraCombo1.DisplayMember = "Display"
        Me.ultraCombo1.ValueMember = "Value"
        Me.ultraCombo1.DataSource = Me.Table

    End Sub

    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
        MyBase.OnLoad(e)

        '  Set up the UltraComboEditor to show checkboxes next to the items, with middle-left alignment
        Me.ultraComboEditor1.CheckedListSettings.CheckBoxStyle = Infragistics.Win.CheckStyle.CheckBox
        Me.ultraComboEditor1.CheckedListSettings.CheckBoxAlignment = ContentAlignment.MiddleLeft

        '  Set up the UltraCombo to show its checkbox column on the left, with the checkbox middle-center aligned
        Me.ultraCombo1.CheckedListSettings.CheckStateMember = "Selected"
        Dim column As UltraGridColumn = Me.ultraCombo1.DisplayLayout.Bands(0).Columns("Selected")
        Dim checkEditor As CheckEditor = New CheckEditor()
        checkEditor.CheckAlign = ContentAlignment.MiddleCenter
        column.Editor = CheckEditor
        column.Header.VisiblePosition = 0

        '  Set up both controls to get their value from the checked items/rows
        Me.ultraComboEditor1.CheckedListSettings.EditorValueSource = EditorWithComboValueSource.CheckedItems
        Me.ultraCombo1.CheckedListSettings.EditorValueSource = EditorWithComboValueSource.CheckedItems

        '  Set up both controls so that clicking anywhere on the item changes the check state,
        '  and does not close the dropdown until the enter/escape key is pressed
        Me.ultraComboEditor1.CheckedListSettings.ItemCheckArea = ItemCheckArea.Item
        Me.ultraCombo1.CheckedListSettings.ItemCheckArea = ItemCheckArea.Item

        '  Set up both controls to use a custom list delimiter
        Me.ultraComboEditor1.CheckedListSettings.ListSeparator = " / "
        Me.ultraCombo1.CheckedListSettings.ListSeparator = " / "

        '  Handle the ValueChanged event for each control
        AddHandler Me.ultraComboEditor1.ValueChanged, AddressOf Me.OnValueChanged
        AddHandler Me.ultraCombo1.ValueChanged, AddressOf Me.OnValueChanged

    End Sub

    Private Sub OnValueChanged(ByVal sender As Object, ByVal e As EventArgs)

        '  Get the list of values from each control, and a reference
        '  to their IValueList implementation so we can get the text
        '  for each item.
        Dim values As System.Collections.IList = Nothing
        Dim valueList As IValueList = Nothing

        If sender Is Me.ultraComboEditor1 Then
            values = Me.ultraComboEditor1.Value
            valueList = Me.ultraComboEditor1.Items.ValueList

        ElseIf sender Is Me.ultraCombo1 Then
            values = Me.ultraCombo1.Value
            valueList = Me.ultraCombo1
        End If

        '  Iterate the list of values and output each one to the console
        If Not values Is Nothing Then

            Dim index As Int32 = -1

            Dim value As Object
            For Each value In values
                Dim text As String = valueList.GetText(value, index)
                Console.WriteLine(String.Format("Text = '{0}', Value = '{1}'", text, value))
            Next

        End If
    End Sub


    Private ReadOnly Property Table() As DataTable
        Get
            If Me._table Is Nothing Then
                Me._table = New DataTable()
                Me._table.Columns.Add("Value", GetType(Object))
                Me._table.Columns.Add("Display", GetType(String))
                Me._table.Columns.Add("Selected", GetType(Boolean))

                Me._table.Rows.Add(New Object() {1, "One", False})
                Me._table.Rows.Add(New Object() {2, "Two", False})
                Me._table.Rows.Add(New Object() {3, "Three", False})
                Me._table.Rows.Add(New Object() {4, "Four", False})
                Me._table.Rows.Add(New Object() {5, "Five", False})
            End If

            Return Me._table
        End Get
    End Property
End Class
using Infragistics.Win;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinGrid;
using System.Diagnostics;

public partial class Form1 : Form
{
    private DataTable table = null;

    public Form1()
    {
        this.InitializeComponent();

        //  Bind the UltraComboEditor control to a data source.
        this.ultraComboEditor1.DisplayMember = "Display";
        this.ultraComboEditor1.ValueMember = "Value";
        this.ultraComboEditor1.DataSource = this.Table;

        //  Bind the UltraCombo control to a data source.
        this.ultraCombo1.DisplayMember = "Display";
        this.ultraCombo1.ValueMember = "Value";
        this.ultraCombo1.DataSource = this.Table;
    }

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        //  Set up the UltraComboEditor to show checkboxes next to the items, with middle-left alignment
        this.ultraComboEditor1.CheckedListSettings.CheckBoxStyle = Infragistics.Win.CheckStyle.CheckBox;
        this.ultraComboEditor1.CheckedListSettings.CheckBoxAlignment = ContentAlignment.MiddleLeft;

        //  Set up the UltraCombo to show its checkbox column on the left, with the checkbox middle-center aligned
        this.ultraCombo1.CheckedListSettings.CheckStateMember = "Selected";
        UltraGridColumn column = this.ultraCombo1.DisplayLayout.Bands[0].Columns["Selected"];
        CheckEditor checkEditor = new CheckEditor();
        checkEditor.CheckAlign = ContentAlignment.MiddleCenter;
        column.Editor = checkEditor;
        column.Header.VisiblePosition = 0;

        //  Set up both controls to get their value from the checked items/rows
        this.ultraComboEditor1.CheckedListSettings.EditorValueSource = EditorWithComboValueSource.CheckedItems;
        this.ultraCombo1.CheckedListSettings.EditorValueSource = EditorWithComboValueSource.CheckedItems;

        //  Set up both controls so that clicking anywhere on the item changes the check state,
        //  and does not close the dropdown until the enter/escape key is pressed
        this.ultraComboEditor1.CheckedListSettings.ItemCheckArea = ItemCheckArea.Item;
        this.ultraCombo1.CheckedListSettings.ItemCheckArea = ItemCheckArea.Item;

        //  Set up both controls to use a custom list delimiter
        this.ultraComboEditor1.CheckedListSettings.ListSeparator = " / ";
        this.ultraCombo1.CheckedListSettings.ListSeparator = " / ";

        //  Handle the ValueChanged event for each control
        this.ultraComboEditor1.ValueChanged += new EventHandler(this.OnValueChanged);
        this.ultraCombo1.ValueChanged += new EventHandler(this.OnValueChanged);
    }

    private void OnValueChanged(object sender, EventArgs e)
    {
        //  Get the list of values from each control, and a reference
        //  to their IValueList implementation so we can get the text
        //  for each item.
        System.Collections.IList values = null;
        IValueList valueList = null;

        if ( sender == this.ultraComboEditor1 )
        {
            values = this.ultraComboEditor1.Value as System.Collections.IList;
            valueList = this.ultraComboEditor1.Items.ValueList as IValueList;
        }
        else
        if ( sender == this.ultraCombo1 )
        {
            values = this.ultraCombo1.Value as System.Collections.IList;
            valueList = this.ultraCombo1 as IValueList;
        }

        //  Iterate the list of values and output each one to the console
        if ( values != null )
        {
            int index = -1;

            foreach( object value in values )
            {
                string text = valueList.GetText( value, ref index );
                Console.WriteLine( string.Format("Text = '{0}', Value = '{1}'", text, value) );
            }

        }
    }

    private DataTable Table
    {
        get
        {
            if ( this.table == null )
            {
                this.table = new DataTable();
                this.table.Columns.Add( "Value", typeof(object) );
                this.table.Columns.Add( "Display", typeof(string) );
                this.table.Columns.Add( "Selected", typeof(bool) );

                this.table.Rows.Add( new object[]{ 1, "One", false } );
                this.table.Rows.Add( new object[]{ 2, "Two", false } );
                this.table.Rows.Add( new object[]{ 3, "Three", false } );
                this.table.Rows.Add( new object[]{ 4, "Four", false } );
                this.table.Rows.Add( new object[]{ 5, "Five", false } );
            }

            return this.table;
        }
    }
}
参照

参照

CheckedListSettings クラス
CheckedListSettings メンバ
CheckBoxStyle プロパティ (ValueList クラス)
CheckBoxAlignment
CheckState プロパティ (ValueListItem クラス)