すらすらプログラマーへのお問い合わせ
すらすらのブログ
アクセス数  累計:000,102,765  昨日:000,000,133  本日:000,000,014
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 - アニメ】

前回までひととりプロパティグリッドの使い方を紹介してきました、まだ紹介しきれていない便利な機能がりますのでここでまとめて紹介しようとおもいます。
プロパティグリッドに表示されないプロパティ
プロパティグリッドにクラスを表示させたくないプロパティがある場合に System.ComponentModel.Browsable 属性を設定すると表示されなくなります。
[VB]
<System.ComponentModel.Browsable(False)>

[C#]
[System.ComponentModel.Browsable(false)]
読み取り専用のプロパティ
編集できない読み取り専用のプロパティを定義する場合には System.ComponentModel.ReadOnly 属性を設定します。
[VB]
<System.ComponentModel.ReadOnly(True)>

[C#]
[System.ComponentModel.ReadOnly(true)]
コンボボックスで値が選択できるプロパティ
 列挙体をプロパティに定義するとその値はコンボボックスで選択できるようになります。
列挙体
[VB]
Public Enum maker
    toyota
    honda
    nissan
    subaru
    mitsubishi
End Enum
[C#]
public enum maker{
    toyota,
    honda,
    nissan,
    subaru,
    mitsubishi,
}
コレクションエディタでアイテムの追加削除を行う
コレクションをプロパティにするとコレクションエディタからアイテムの追加削除ができるようになります。
VB[Class5.vb]
Public Class Class5

    
' 列挙体定義
    Public Enum maker
        toyota
        honda
        nissan
        subaru
        mitsubishi
    
End Enum

    ' クラスメンバ変数
    Private _hidden As String = String.Empty
    
Private _readonly As String = "readonly"
    Private _maker As maker = maker.nissan
    
Private _list As List(Of Class1) = New List(Of Class1)

    <System.ComponentModel.Category(
"すらすら")> _
    <System.ComponentModel.Description(
"プロパティエディタから見えないプロパティ")> _
    
<System.ComponentModel.Browsable(False)> _
    
Public Property HiddenValue() As String
        Get
            Return _hidden
        
End Get
        Set(ByVal value As String)
            _hidden = value
        
End Set
    End Property

    <System.ComponentModel.Category("すらすら")> _
    <System.ComponentModel.Description(
"プロパティエディタで変更できないプロパティ")> _
    
<System.ComponentModel.ReadOnly(True)> _
    
Public Property ReadonlyValue()
        
Get
            Return _readonly
        
End Get
        Set(ByVal value)
            _readonly = value
        
End Set
    End Property

    <System.ComponentModel.Category("すらすら")> _
    <System.ComponentModel.Description(
"列挙体をリストから選択できます")> _
    <System.ComponentModel.DefaultValueAttribute(
GetType(maker), "nissan")> _
    
Public Property EnumValue() As maker
        
Get
            Return _maker
        
End Get
        Set(ByVal value As maker)
            _maker = value
        
End Set
    End Property

    <System.ComponentModel.Category("すらすら")> _
    <System.ComponentModel.Description(
"コレクションからアイテムを追加削除できます")> _
    
Public Property ListValue() As List(Of Class1)
        
Get
            Return _list
        
End Get
        Set(ByVal value As List(Of Class1))
            _list = value
        
End Set
    End Property

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

namespace PropatyGrid_CS
{
    
public class Class5
    {

        
// 列挙体定義
        public enum maker{
            toyota,
            honda,
            nissan,
            subaru,
            mitsubishi,
        }

        
// クラスメンバ変数
        private string _hidden = string.Empty;
        
private string _readonly = "readonly";
        
private maker _maker = maker.nissan;
        
private List<Class1> _list = new List<Class1>();

        [System.ComponentModel.
Category("すらすら")]
        [System.ComponentModel.
Description("プロパティエディタから見えないプロパティ")]
        [System.ComponentModel.
Browsable(false)]
        
public string HiddenValue
        {
            
get { return _hidden; }
            
set { _hidden = value; }
        }

        [System.ComponentModel.
Category("すらすら")]
        [System.ComponentModel.
Description("プロパティエディタで変更できないプロパティ")]
        [System.ComponentModel.
ReadOnly(true)]
        
public string ReadonlyValue
        {
            
get { return _readonly; }
            
set { _readonly = value; }
        }

        [System.ComponentModel.
Category("すらすら")]
        [System.ComponentModel.
Description("列挙体をリストから選択できます")]
        [System.ComponentModel.
DefaultValueAttribute(typeof(maker), "nissan")]
        
public maker EnumValue
        {
            
get { return _maker; }
            
set { _maker = value; }
        }

        [System.ComponentModel.
Category("すらすら")]
        [System.ComponentModel.
Description("コレクションからアイテムを追加削除できます")]
        
public List<Class1> ListValue
        {
            
get { return _list; }
            
set { _list = value; }
        }
    }
}
※このページで紹介しているサンプルコードについて管理者は動作保障をいたしません※
※サンプルコードを使用する場合は、自己責任でお願いします※

【楽天 ランキング:パソコン・周辺機器 - ネットワーク機器】




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

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