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
- AuthenticationModuleElement.cs
- SqlCommand.cs
- CodeAttributeArgumentCollection.cs
- SliderAutomationPeer.cs
- DrawListViewItemEventArgs.cs
- PropertyCollection.cs
- CustomAttributeBuilder.cs
- EntityClientCacheKey.cs
- AppSettingsSection.cs
- TagNameToTypeMapper.cs
- TimeoutConverter.cs
- GridLength.cs
- RegexBoyerMoore.cs
- CodeLabeledStatement.cs
- ObjectStateManagerMetadata.cs
- AliasedSlot.cs
- WCFServiceClientProxyGenerator.cs
- LinqDataSourceUpdateEventArgs.cs
- SqlXmlStorage.cs
- CaseCqlBlock.cs
- ProcessThreadCollection.cs
- TableLayoutPanelDesigner.cs
- RemotingClientProxy.cs
- Matrix3D.cs
- PrinterResolution.cs
- ThemeableAttribute.cs
- EditingMode.cs
- FrugalList.cs
- DateBoldEvent.cs
- ResolvedKeyFrameEntry.cs
- XmlQuerySequence.cs
- UnSafeCharBuffer.cs
- HwndSourceParameters.cs
- SQLUtility.cs
- StylusButton.cs
- HtmlElementCollection.cs
- ReaderWriterLockWrapper.cs
- TimersDescriptionAttribute.cs
- Translator.cs
- NewExpression.cs
- MethodToken.cs
- SqlColumnizer.cs
- CancellationTokenSource.cs
- XmlReflectionImporter.cs
- Error.cs
- QuadraticBezierSegment.cs
- QilExpression.cs
- CombinedGeometry.cs
- BoolExpr.cs
- AnimationClockResource.cs
- NodeCounter.cs
- Trace.cs
- TableLayoutPanel.cs
- ObjectStorage.cs
- PackageRelationship.cs
- DefaultMemberAttribute.cs
- WindowsUpDown.cs
- TypeSystemProvider.cs
- WindowsFormsSynchronizationContext.cs
- FontInfo.cs
- TemplateBuilder.cs
- input.cs
- StreamGeometry.cs
- DrawItemEvent.cs
- infer.cs
- uribuilder.cs
- KeyConstraint.cs
- ResolveResponseInfo.cs
- DrawListViewColumnHeaderEventArgs.cs
- Model3D.cs
- SafeFileMapViewHandle.cs
- Transform3DGroup.cs
- BoundPropertyEntry.cs
- IProvider.cs
- StaticFileHandler.cs
- ImageDrawing.cs
- ArcSegment.cs
- CompoundFileStorageReference.cs
- Clock.cs
- ListViewInsertedEventArgs.cs
- StdRegProviderWrapper.cs
- BooleanAnimationUsingKeyFrames.cs
- QueueException.cs
- SymmetricAlgorithm.cs
- WebSysDefaultValueAttribute.cs
- HttpListenerRequest.cs
- SmtpException.cs
- DbParameterCollectionHelper.cs
- StaticExtensionConverter.cs
- EventData.cs
- AttributeInfo.cs
- FacetDescription.cs
- WebServicesInteroperability.cs
- TrustLevel.cs
- BamlLocalizationDictionary.cs
- AudioSignalProblemOccurredEventArgs.cs
- ForwardPositionQuery.cs
- ApplicationHost.cs
- VectorCollectionValueSerializer.cs
- MobileCategoryAttribute.cs