Click here to Skip to main content
15,885,885 members
Articles / Programming Languages / C#

PropertyGrid

Rate me:
Please Sign up or sign in to vote.
3.22/5 (3 votes)
3 Nov 20069 min read 52.2K   1.3K   30  
A control which provides a convenient way to display data in a property grid.
using System;

namespace Puma.Xml
{
	public abstract class RestrictionBase
	{
		internal RestrictionBase() {}

		internal bool IsContainAny { get { return _facets.Count != 0; } }

		internal void AddRestriction(object Value, System.Xml.Schema.XmlSchemaFacet Facet)
		{
			_values.Add(Value);
			_facets.Add(Facet);
		}

		public System.Collections.ArrayList Facets {get {return _facets;} }
		public System.Collections.ArrayList Values {get {return _values;} }

		private System.Collections.ArrayList _facets = new System.Collections.ArrayList();
		private System.Collections.ArrayList _values = new System.Collections.ArrayList();
	}


	public abstract class MinMaxRestrictionBase : RestrictionBase
	{
		protected object Min { get {return _min;} }
		protected object Max { get {return _max;} }

		protected internal void SetMin(object Value, System.Xml.Schema.XmlSchemaFacet Facet) 
		{ 
			_min = Value; 

			AddRestriction(Value, Facet);
		}

		protected internal void SetMax(object Value, System.Xml.Schema.XmlSchemaFacet Facet) 
		{ 
			_max = Value; 

			AddRestriction(Value, Facet);
		}

		private object _min;
		private object _max;
	}


	public class EnumerationRestriction : RestrictionBase
	{
		internal EnumerationRestriction(){}
	}

	public class MinMaxLengthRestriction : MinMaxRestrictionBase
	{
		internal MinMaxLengthRestriction(){}

		public int MinLength {get {return Min == null ? - 1 : (int)Min;} }

		public int MaxLength {get {return Max == null ? - 1 : (int)Max;} }
	}

	public class MinMaxValueRestriction : MinMaxRestrictionBase
	{
		internal MinMaxValueRestriction(){}

		public object MinValue {get {return Min;} }

		public object MaxValue {get {return Max;} }
	}

}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Russian Federation Russian Federation
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions