GridItem.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / GridItem.cs / 1305376 / GridItem.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

namespace System.Windows.Forms { 
 
    using System.Diagnostics;
 
    using System;
    using System.IO;
    using System.Collections;
    using System.Globalization; 
    using System.Windows.Forms;
 
    using System.Drawing; 
    using System.Drawing.Design;
    using System.Windows.Forms.Design; 
    using System.Windows.Forms.ComponentModel.Com2Interop;
    using System.ComponentModel;
    using System.ComponentModel.Design;
    using System.Windows.Forms.PropertyGridInternal; 
    using System.Reflection;
    using System.Runtime.InteropServices; 
    using Microsoft.Win32; 

    ///  
    /// 
    /// Representaion of one row item in the PropertyGrid.  These items represent the
    /// hierarchy of the grid's "tree-like" view and can be used to get information about
    /// the grid's state and contents. 
    /// These objects should not be cached because they represent a snapshot of the PropertyGrid's state
    ///  and may be disposed by grid activity.  The PropertyGrid often recretates these objects internally even if 
    ///  it doesn't appear to change to the user.  
    /// 
    public abstract class GridItem { 

        private object userData;

        ///  
        [
        SRCategory(SR.CatData), 
        Localizable(false), 
        Bindable(true),
        SRDescription(SR.ControlTagDescr), 
        DefaultValue(null),
        TypeConverter(typeof(StringConverter)),
        ]
        public object Tag { 
            get {
                return userData; 
            } 
            set {
                userData = value; 
            }
        }

        ///  
        /// 
        /// Retrieves the child GridItems, if any, of this GridItem 
        ///  
        public abstract GridItemCollection GridItems {
            get; 
        }

        /// 
        ///  
        /// Retrieves type of this GridItem, as a value from System.Windows.Forms.GridItemType
        ///  
        public abstract GridItemType GridItemType { 
            get;
        } 

        /// 
        /// 
        /// Retrieves the text label of this GridItem.  This may be different from the actual PropertyName. 
        ///       For GridItemType.Property GridItems, retrieve the PropertyDescriptor and check its Name property.
        ///  
        public abstract string Label { 
            get;
        } 

        /// 
        /// 
        /// Retrieves parent GridItem of this GridItem, if any 
        /// 
        public abstract GridItem Parent { 
            get; 
        }
 
        /// 
        /// 
        /// If this item is a GridItemType.Property GridItem, this retreives the System.ComponentModel.PropertyDescriptor that is
        ///       associated with this GridItem.  This can be used to retrieve infomration such as property Type, Name, or TypeConverter. 
        /// 
        public abstract PropertyDescriptor PropertyDescriptor { 
            get; 
        }
 
        /// 
        /// 
        /// Retrieves the current Value of this grid Item.  This may be null. 
        ///  
        public abstract object Value {
            get; 
            // note: we don't do set because of the value class semantics, etc. 
        }
 
        /// 
        /// 
        /// Retreives whether the given property is expandable.
        ///  
        public virtual bool Expandable {
            get { 
                return false; 
            }
        } 

        /// 
        /// 
        /// Retreives or sets whether the GridItem is in an expanded state. 
        /// 
        public virtual bool Expanded { 
            get { 
                return false;
            } 
            set {
                throw new NotSupportedException(SR.GetString(SR.GridItemNotExpandable));
            }
        } 

        ///  
        ///  
        /// Attempts to select this GridItem in the PropertyGrid.
        ///  
        public abstract bool Select();
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK