Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / PropertyGridInternal / ArrayElementGridEntry.cs / 1305376 / 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. // //----------------------------------------------------------------------------- /* */ 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TemplateControlBuildProvider.cs
- SlipBehavior.cs
- AdjustableArrowCap.cs
- GridEntry.cs
- EnumUnknown.cs
- HtmlWindow.cs
- _KerberosClient.cs
- TextDecoration.cs
- SqlTriggerContext.cs
- BitmapEffectCollection.cs
- TextFormatterHost.cs
- RepeaterItemCollection.cs
- ContentElement.cs
- LoginUtil.cs
- _NativeSSPI.cs
- InfoCardProofToken.cs
- PropertyGridEditorPart.cs
- TypeDescriptionProviderAttribute.cs
- IEnumerable.cs
- TypeDescriptor.cs
- ExeConfigurationFileMap.cs
- ProjectedSlot.cs
- CacheChildrenQuery.cs
- CodeTypeConstructor.cs
- EmptyStringExpandableObjectConverter.cs
- FloaterBaseParaClient.cs
- Clock.cs
- XmlLinkedNode.cs
- WebBrowserBase.cs
- EnumConverter.cs
- HttpDebugHandler.cs
- PropertyRecord.cs
- TriggerCollection.cs
- StrokeNodeOperations.cs
- GeneralTransformCollection.cs
- NoPersistProperty.cs
- HostingEnvironmentException.cs
- DbConnectionPoolGroupProviderInfo.cs
- UITypeEditor.cs
- WebPartAuthorizationEventArgs.cs
- HttpCacheParams.cs
- RoleBoolean.cs
- PolyBezierSegment.cs
- _FixedSizeReader.cs
- QuadraticBezierSegment.cs
- xmlglyphRunInfo.cs
- TableStyle.cs
- OdbcParameterCollection.cs
- CustomSignedXml.cs
- Control.cs
- MediaTimeline.cs
- XComponentModel.cs
- PrePostDescendentsWalker.cs
- ExtendedProtectionPolicy.cs
- TableStyle.cs
- XsdBuilder.cs
- InstancePersistenceCommandException.cs
- ProfilePropertyNameValidator.cs
- NCryptNative.cs
- ProxyAttribute.cs
- InputLanguageProfileNotifySink.cs
- SqlRowUpdatedEvent.cs
- InstanceValue.cs
- SiteMapProvider.cs
- NetworkCredential.cs
- UriScheme.cs
- ScrollItemPattern.cs
- AbstractExpressions.cs
- Error.cs
- GlobalizationAssembly.cs
- WasAdminWrapper.cs
- TypedDataSetSchemaImporterExtension.cs
- CellTreeNode.cs
- ObservableDictionary.cs
- DecoderFallbackWithFailureFlag.cs
- CodeObjectCreateExpression.cs
- TreeNodeBindingCollection.cs
- FillBehavior.cs
- DataRelationCollection.cs
- ToolStripPanelCell.cs
- NetworkInformationPermission.cs
- XmlDocumentSerializer.cs
- EnumBuilder.cs
- MessageQueuePermissionAttribute.cs
- MinMaxParagraphWidth.cs
- DataBindingExpressionBuilder.cs
- BasePattern.cs
- DataColumnMappingCollection.cs
- IssuanceTokenProviderState.cs
- XamlStyleSerializer.cs
- InputScopeConverter.cs
- DataGridHelper.cs
- DocumentProperties.cs
- ColorInterpolationModeValidation.cs
- ViewStateChangedEventArgs.cs
- NotSupportedException.cs
- ConfigurationManagerHelper.cs
- MethodToken.cs
- CharAnimationUsingKeyFrames.cs
- ResourceContainer.cs