PowerTools MultiRow for Windows Forms 8.0J
ThreeState プロパティ
使用例 

CheckBoxCellが(2つではなく)3つのチェック状態を持つかどうかを示す値を取得または設定します。
構文
Public Property ThreeState As Boolean
public bool ThreeState {get; set;}

プロパティ値

CheckBoxCellが3つのチェック状態を表示できる場合はtrue。オンとオフの2つの状態のみの場合はfalse。既定値はfalseです。
解説

このプロパティの値がfalseの場合、セルの値はtrueまたはfalseに編集できます。

このプロパティの値がtrueの場合、セルの値はSystem.Windows.Forms.CheckState値のいずれか1つに編集できます。System.Windows.Forms.CheckState.CheckedtrueSystem.Windows.Forms.CheckState.Uncheckedfalseに相当し、System.Windows.Forms.CheckState.Indeterminateはtrueかfalseか明らかでないことを意味します。
使用例
次のサンプルコードは、CheckBoxCellが持ついくつかの重要なプロパティを示します。ここでは、ThreeStatetrueに設定し、各状態の格納値をTrueValueFalseValue、およびIndeterminateValueによって設定しています。さらに、TextCheckAlignを変更しています。
using System;
using System.Windows.Forms;
using System.Drawing;

namespace GrapeCity.Win.MultiRow.SampleCode
{
    public class CheckBoxCellDemo : Form
    {
        private GcMultiRow gcMultiRow1 = new GcMultiRow();
        private Label label = new Label();

        public CheckBoxCellDemo()
        {
            this.gcMultiRow1.Dock = DockStyle.Fill;
            this.Controls.Add(this.gcMultiRow1);
            this.Load += new EventHandler(Form1_Load);
            this.gcMultiRow1.CellValueChanged += new EventHandler<CellEventArgs>(gcMultiRow1_CellValueChanged);

            this.label.Dock = DockStyle.Bottom;
            this.label.Height = 30;
            this.label.BackColor = SystemColors.Info;
            this.label.Text = "Click one CheckBoxCell to change the check state, then press ENTER key to commit value.";
            this.Controls.Add(label);
            this.Text = "CheckBoxCell Demo";
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            CheckBoxCell checkBoxCell1 = new CheckBoxCell();
            checkBoxCell1.ThreeState = true;
            checkBoxCell1.TrueValue = "Yes";
            checkBoxCell1.FalseValue = "No";
            checkBoxCell1.IndeterminateValue = "Ignore";
            checkBoxCell1.Text = "State";
            checkBoxCell1.CheckAlign = ContentAlignment.MiddleRight;

            Template template1 = Template.CreateGridTemplate(new Cell[] { checkBoxCell1, checkBoxCell1.Clone() as Cell }, 160,
                AutoGenerateGridTemplateStyles.ColumnHeader | AutoGenerateGridTemplateStyles.RowHeaderAutoNumber);

            gcMultiRow1.Template = template1;
            gcMultiRow1.RowCount = 3;
        }

        void gcMultiRow1_CellValueChanged(object sender, CellEventArgs e)
        {
            //When the value commit, the actual stored value is TrueValue, FalseValue or IndeterminateValue.
            if (this.gcMultiRow1.CurrentCell.Value != null)
            {
                this.label.Text = "The current parsed value is " + this.gcMultiRow1.CurrentCell.Value.ToString();
            }
        }

        [STAThreadAttribute()]
        public static void Main()
        {
            Application.EnableVisualStyles();
            Application.Run(new CheckBoxCellDemo());
        }
    }
}
Imports System
Imports System.Windows.Forms
Imports System.Drawing
Imports GrapeCity.Win.MultiRow

Public Class CheckBoxCellDemo
    Inherits Form
    Friend WithEvents gcMultiRow1 As New GcMultiRow()
    Private label As New Label()

    Public Sub New()
        Me.gcMultiRow1.Dock = DockStyle.Fill
        Me.Controls.Add(Me.gcMultiRow1)
        Me.label.Dock = DockStyle.Bottom
        Me.label.Height = 30
        Me.label.BackColor = SystemColors.Info
        Me.label.Text = "Click one CheckBoxCell to change the check state, then press ENTER key to commit value."
        Me.Controls.Add(label)
        Me.Text = "CheckBoxCell Demo"
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
        Dim checkBoxCell1 As New CheckBoxCell()
        checkBoxCell1.ThreeState = True
        checkBoxCell1.TrueValue = "Yes"
        checkBoxCell1.FalseValue = "No"
        checkBoxCell1.IndeterminateValue = "Ignore"
        checkBoxCell1.Text = "State"
        checkBoxCell1.CheckAlign = ContentAlignment.MiddleRight

        Dim template1 As Template = Template.CreateGridTemplate(New Cell() {checkBoxCell1, TryCast(checkBoxCell1.Clone(), Cell)})

        gcMultiRow1.Template = template1
        gcMultiRow1.RowCount = 3
    End Sub

    Private Sub gcMultiRow1_CellValueChanged(ByVal sender As Object, ByVal e As CellEventArgs) Handles gcMultiRow1.CellValueChanged
        'When the value commit, the actual stored value is TrueValue, FalseValue or IndeterminateValue.
        If Me.gcMultiRow1.CurrentCell.Value <> Nothing Then
            Me.label.Text = "The current parsed value is " + Me.gcMultiRow1.CurrentCell.Value.ToString()
        End If
    End Sub

    <STAThreadAttribute()> _
    Public Shared Sub Main()
        Application.EnableVisualStyles()
        Application.Run(New CheckBoxCellDemo())
    End Sub
End Class
参照

CheckBoxCell クラス
CheckBoxCell メンバ

 

 


© 2008-2015 GrapeCity inc. All rights reserved.