すらすらプログラマーへのお問い合わせ
すらすらのブログ
アクセス数  累計:000,124,974  昨日:000,000,064  本日:000,000,095
Loading
プロパティグリッド
.NET プログラミング
プロパティグリッド
印刷
リストボックス
スレッド
リストビュー
インストーラー
やってみよう!

できるVisual Studio 2015 Windows /Android/iOS アプリ対応

独習C# 第3版

VisualBasic2013パーフェクトマスター (Perfect Master SERIES)

プログラミング.NET Framework 第4版 (Microsoft Press)

VisualBasic2013逆引き大全555の極意

猫でもわかるWindowsプログラミング 第4版 (猫でもわかるプログラミング)

VisualC#2013逆引き大全555の極意

グリッドに値を表示 最終更新:2010/07/15
【Amazon ランキング:DVD - アニメ】

.NET でプログラミングをしていると必ずお目にかかるプロパティグリッドですが、ただ単純にプロパティの値を表示しているだけのようにみえて実は突き詰めていくとなかなか奥が深いコントロールです。
基本はクラスのメンバをグリッド状に表示してユーザーが自由に編集できるようにするものなのですが、プロパティ毎にコメントを表示したり、一覧から選択させたり、カスタムフォームを使えたりといろいろ便利な機能が満載です。これらの機能を生かしてかっこいいカスタムコントロールも作成できたりもしますのでぜひ試してみてください。
グリッドに表示するオブジェクトの作成
プロパティグリッドには、コントロール、クラス、等の Objectクラスを継承しているものならなでも表示できます。今回はわかりやすくクラスオブジェクトを使用することにします。
Windeows アプリケーションプロジェクト「PropertyGrid」を作成して、既存の項目で新規クラス「Class1」を追加してください。
VB[Class1.vb]
Public Class Class1

    
' クラスメンバ変数
    Private _boolValue As Boolean = False
    Private _intValue As Integer = 0
    
Private _stringValue As String = "SuraSura"
    Private _colorValue As Color = Color.White

    
' bool値プロパティ
    Public Property BoolValue() As Boolean
        Get
            Return _boolValue
        
End Get
        Set(ByVal value As Boolean)
            _boolValue = value
        
End Set
    End Property

    ' int値プロパティ
    Public Property IntValue() As Integer
        Get
            Return _intValue
        
End Get
        Set(ByVal value As Integer)
            _intValue = value
        
End Set
    End Property

    ' String値プロパティ
    Public Property StringValue() As String
        Get
            Return _stringValue
        
End Get
        Set(ByVal value As String)
            _stringValue = value
        
End Set
    End Property

    ' Color値プロパティ
    Public Property ColorValue() As Color
        
Get
            Return _colorValue
        
End Get
        Set(ByVal value As Color)
            _colorValue = value
        
End Set
    End Property

End
 Class
C#[Class1.cs]
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;

namespace PropatyGrid_CS
{
    
public class Class1
    {
        
// クラスメンバ変数
        bool _boolValue = false;
        
int _intValue = 0;
        
string _stringValue = "SuraSura";
        
Color _colorValue = Color.White;

        
// bool値プロパティ
        public bool BoolValue
        {
            
get { return _boolValue; }
            
set { _boolValue = value; }
        }

        
// int値プロパティ
        public int IntValue
        {
            
get { return _intValue; }
            
set { _intValue = value; }
        }

        
// String値プロパティ
        public string StringValue
        {
            
get { return _stringValue; }
            
set { _stringValue = value; }
        }

        
// Color値プロパティ
        public Color ColorValue
        {
            
get { return _colorValue; }
            
set { _colorValue = value; }
        }
    }
}
フォームの作成
Form1 に PropertyGrid コントロール「PropertyGrid1」を貼り付けます。

PropertyGrid:[PropertyGired1]
Dock True
ロードイベントで Property グリッドの SelectedObject プロパティにグリッドに表示したいオブジェクトを設定します。
VB[Form1.vb]
Public Class Form1

    
Private Sub Form1_Load(ByVal sender As ObjectByVal e As System.EventArgs) Handles Me.Load

        
' プロパティグリッドにクラスを設定
        Me.PropertyGrid1.SelectedObject = New Class1()

    
End Sub
End
 Class
C#[Form1.cs]
namespace PropatyGrid_CS
{
    
public partial class Form1 : Form
    {
        
public Form1()
        {
            InitializeComponent();
        }

        
private void Form1_Load(object sender, EventArgs e)
        {
            
// プロパティグリッドにクラスを設定
            this.propertyGrid1.SelectedObject = new Class1();
        }
    }
}
実行
実行するとプロパティの Class1 で設定されているプロパティがグリッドに表示されます。

[BoolValue]
bool 値をはグリッドで true/false をプルダウンで選択できます。

[IntValue]
IntValue には数値を直接グリッドに入力するのですが、このとき入力した値が不正な場合はメッセージが表示されます。

[StringValue]
文字列を直接入力できます。

[ColorValue]
カラー値は何も設定なしで、カラーダイアログが表示されるのでビジュアル的にもかなり効果大です。

※このページで紹介しているサンプルコードについて管理者は動作保障をいたしません※
※サンプルコードを使用する場合は、自己責任でお願いします※

【楽天 ランキング:パソコン・周辺機器 - パソコン周辺機器】




このサイトはフリーソフトのMerge HTMLで作成されています。
このサイトはリンクフリーです。

ページの先頭に戻る Copyright© 2010-2015 Jun.Shiozaki All rights reserved.