Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / PropertyGridInternal / ArrayElementGridEntry.cs / 1 / ArrayElementGridEntry.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.Windows.Forms.PropertyGridInternal {
using System.Diagnostics;
using System;
using System.Collections;
using System.Reflection;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Windows.Forms;
using System.Drawing;
using Microsoft.Win32;
using System.Globalization;
internal class ArrayElementGridEntry : GridEntry {
protected int index;
public ArrayElementGridEntry(PropertyGrid ownerGrid, GridEntry peParent, int index)
: base(ownerGrid, peParent) {
this.index = index;
this.SetFlag(FLAG_RENDER_READONLY, (peParent.Flags & FLAG_RENDER_READONLY) != 0 || peParent.ForceReadOnly);
}
public override GridItemType GridItemType {
get {
return GridItemType.ArrayValue;
}
}
public override bool IsValueEditable {
get{
return ParentGridEntry.IsValueEditable;
}
}
public override string PropertyLabel {
get {
return "[" + index.ToString(CultureInfo.CurrentCulture) + "]";
}
}
public override Type PropertyType {
get {
return parentPE.PropertyType.GetElementType();
}
}
public override object PropertyValue {
get {
object owner = GetValueOwner();
Debug.Assert(owner is Array, "Owner is not array type!");
return((Array)owner).GetValue(index);
}
set {
object owner = GetValueOwner();
Debug.Assert(owner is Array, "Owner is not array type!");
((Array)owner).SetValue(value,index);
}
}
public override bool ShouldRenderReadOnly {
get {
return ParentGridEntry.ShouldRenderReadOnly;
}
}
/*
///
/// Checks if the value of the current item can be modified by the user.
///
///
/// True if the value can be modified
///
public override bool CanSetPropertyValue() {
return this.ParentGridEntry.CanSetPropertyValue();
}
*/
/*
///
/// Returns if it's an editable item. An example of a readonly
/// editable item is a collection property -- the property itself
/// can not be modified, but it's value (e.g. it's children) can, so
/// we don't want to draw it as readonly.
///
///
/// True if the value associated with this property (e.g. it's children) can be modified even if it's readonly.
///
public override bool CanSetReadOnlyPropertyValue() {
return this.ParentGridEntry.CanSetReadOnlyPropertyValue();
}*/
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartTransformerAttribute.cs
- TimelineCollection.cs
- PageStatePersister.cs
- XmlWellformedWriterHelpers.cs
- SQLDouble.cs
- CodeMethodInvokeExpression.cs
- DefaultShape.cs
- DataGridRowDetailsEventArgs.cs
- PropertyToken.cs
- X509ImageLogo.cs
- TraceAsyncResult.cs
- BlobPersonalizationState.cs
- PropertyNames.cs
- XmlSignatureProperties.cs
- ContentElementAutomationPeer.cs
- RectAnimationUsingKeyFrames.cs
- DataViewListener.cs
- HttpChannelHelpers.cs
- OletxDependentTransaction.cs
- Thickness.cs
- ReadOnlyCollection.cs
- Int32Collection.cs
- HttpBrowserCapabilitiesWrapper.cs
- ProtocolsConfigurationEntry.cs
- LineInfo.cs
- StringExpressionSet.cs
- OperationCanceledException.cs
- ListViewItem.cs
- WCFModelStrings.Designer.cs
- DllNotFoundException.cs
- PathGradientBrush.cs
- WebPartTransformerCollection.cs
- SingleObjectCollection.cs
- ScaleTransform3D.cs
- ExtensibleClassFactory.cs
- TextBox.cs
- GrammarBuilder.cs
- ChangeDirector.cs
- DbConnectionPoolIdentity.cs
- OdbcStatementHandle.cs
- AdapterDictionary.cs
- WsatRegistrationHeader.cs
- CharacterBuffer.cs
- SerializationHelper.cs
- SrgsToken.cs
- Switch.cs
- CodeIdentifier.cs
- Rfc4050KeyFormatter.cs
- XmlIncludeAttribute.cs
- KeyFrames.cs
- EventSourceCreationData.cs
- XmlSchemaSimpleContentExtension.cs
- ColorConvertedBitmapExtension.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- StylusPlugInCollection.cs
- MouseCaptureWithinProperty.cs
- SqlDataReaderSmi.cs
- Misc.cs
- VirtualPathUtility.cs
- __TransparentProxy.cs
- ZipIOLocalFileHeader.cs
- ControllableStoryboardAction.cs
- RenameRuleObjectDialog.cs
- ResolveCriteriaCD1.cs
- ToolStripRenderer.cs
- prefixendpointaddressmessagefiltertable.cs
- Transform.cs
- TextParentUndoUnit.cs
- NameObjectCollectionBase.cs
- SettingsPropertyNotFoundException.cs
- TableCellAutomationPeer.cs
- DependencyObjectPropertyDescriptor.cs
- OleTxTransaction.cs
- XmlCharCheckingReader.cs
- RepeatBehaviorConverter.cs
- ColorAnimationBase.cs
- XamlWriter.cs
- XmlIlTypeHelper.cs
- TextLineResult.cs
- Pair.cs
- WebHeaderCollection.cs
- MenuItemCollection.cs
- TextSpanModifier.cs
- dataprotectionpermission.cs
- Canvas.cs
- sitestring.cs
- FormsAuthenticationUserCollection.cs
- StateManagedCollection.cs
- XamlTypeMapper.cs
- LightweightCodeGenerator.cs
- FilteredAttributeCollection.cs
- EncoderExceptionFallback.cs
- OutOfMemoryException.cs
- QilExpression.cs
- ReadContentAsBinaryHelper.cs
- PassportPrincipal.cs
- XsltConvert.cs
- PartialArray.cs
- FlowSwitchLink.cs
- XmlSchemaInfo.cs