Code:
/ FX-1434 / FX-1434 / 1.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
- FixUpCollection.cs
- ActiveXHost.cs
- BufferModeSettings.cs
- CodeNamespaceImportCollection.cs
- OutputScopeManager.cs
- ZipIOExtraFieldElement.cs
- ComponentChangingEvent.cs
- httpapplicationstate.cs
- DateTimeConstantAttribute.cs
- HtmlElement.cs
- ObjectDataSourceEventArgs.cs
- ToolStripItemImageRenderEventArgs.cs
- arabicshape.cs
- ImportContext.cs
- dtdvalidator.cs
- ClientTarget.cs
- TypeSystem.cs
- ControlAdapter.cs
- FlowLayoutPanel.cs
- ValidationSummary.cs
- InProcStateClientManager.cs
- ServiceHttpModule.cs
- PackagePart.cs
- HttpApplication.cs
- ProfessionalColorTable.cs
- SharedUtils.cs
- ContentAlignmentEditor.cs
- XmlCountingReader.cs
- TreePrinter.cs
- compensatingcollection.cs
- Subset.cs
- _AutoWebProxyScriptWrapper.cs
- SelectionItemProviderWrapper.cs
- DesignerActionPropertyItem.cs
- XamlBrushSerializer.cs
- WindowsButton.cs
- PeerNode.cs
- ListParaClient.cs
- HttpBufferlessInputStream.cs
- TimeSpanParse.cs
- SharedDp.cs
- GridEntryCollection.cs
- DataGridViewBindingCompleteEventArgs.cs
- PersistenceProviderFactory.cs
- ButtonFieldBase.cs
- SectionUpdates.cs
- EventQueueState.cs
- ExpressionPrefixAttribute.cs
- _ListenerAsyncResult.cs
- GeneralTransform2DTo3DTo2D.cs
- ObjectSecurity.cs
- DefaultConfirmation.cs
- FixedTextPointer.cs
- TimerElapsedEvenArgs.cs
- SoundPlayerAction.cs
- SizeKeyFrameCollection.cs
- SqlNodeAnnotations.cs
- Animatable.cs
- ToolStripManager.cs
- TextBox.cs
- WebExceptionStatus.cs
- BufferCache.cs
- ContextProperty.cs
- CultureTableRecord.cs
- TreeBuilder.cs
- VectorKeyFrameCollection.cs
- GeometryCollection.cs
- GlobalizationAssembly.cs
- uribuilder.cs
- GroupItem.cs
- SQLDecimal.cs
- SqlReferenceCollection.cs
- ApplicationId.cs
- LiteralControl.cs
- ImageFormat.cs
- LineServices.cs
- NameValueSectionHandler.cs
- SqlDelegatedTransaction.cs
- ColumnMapVisitor.cs
- SecurityAlgorithmSuiteConverter.cs
- XmlDataCollection.cs
- SiteMapDataSource.cs
- PeerNeighborManager.cs
- XmlSchemaAttributeGroup.cs
- ThreadStaticAttribute.cs
- FixedPageAutomationPeer.cs
- InvalidEnumArgumentException.cs
- PropertySourceInfo.cs
- UnconditionalPolicy.cs
- Dispatcher.cs
- SoapObjectInfo.cs
- DeferredRunTextReference.cs
- MissingSatelliteAssemblyException.cs
- VirtualizingStackPanel.cs
- EncoderFallback.cs
- BinaryReader.cs
- OutputCacheModule.cs
- SelectionChangedEventArgs.cs
- GuidTagList.cs
- CallbackHandler.cs