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
- TypeInfo.cs
- FilterElement.cs
- ProviderConnectionPoint.cs
- DBConcurrencyException.cs
- Preprocessor.cs
- TreeIterator.cs
- DocumentViewerBaseAutomationPeer.cs
- Logging.cs
- GestureRecognizer.cs
- User.cs
- ProcessDesigner.cs
- MDIWindowDialog.cs
- XmlChoiceIdentifierAttribute.cs
- TextFormatterContext.cs
- EntityDescriptor.cs
- MetricEntry.cs
- PersistChildrenAttribute.cs
- CheckableControlBaseAdapter.cs
- XmlSerializationGeneratedCode.cs
- StylusCollection.cs
- IndexedString.cs
- EndpointIdentity.cs
- IntPtr.cs
- QueuePropertyVariants.cs
- CommandHelper.cs
- SchemaType.cs
- ReliabilityContractAttribute.cs
- DataGridViewCellStyleBuilderDialog.cs
- Funcletizer.cs
- BuildProviderCollection.cs
- ResXFileRef.cs
- PackageRelationship.cs
- XmlUtilWriter.cs
- RootBuilder.cs
- Claim.cs
- ObjectRef.cs
- XmlResolver.cs
- ClassicBorderDecorator.cs
- BuilderPropertyEntry.cs
- TransformerConfigurationWizardBase.cs
- HttpModuleAction.cs
- _ServiceNameStore.cs
- MasterPage.cs
- SoapCodeExporter.cs
- LockCookie.cs
- NumberAction.cs
- ByeMessageCD1.cs
- ObservableCollectionDefaultValueFactory.cs
- RecordManager.cs
- ComponentEditorForm.cs
- Duration.cs
- UnsafeNativeMethodsTablet.cs
- KeyConstraint.cs
- EntityDataSourceDataSelectionPanel.cs
- PublisherMembershipCondition.cs
- XmlObjectSerializerReadContextComplexJson.cs
- StreamSecurityUpgradeAcceptorBase.cs
- Stack.cs
- AnimationTimeline.cs
- SamlAction.cs
- KeyedHashAlgorithm.cs
- PaintValueEventArgs.cs
- TracingConnectionInitiator.cs
- AuthorizationSection.cs
- Serializer.cs
- WebBrowserDocumentCompletedEventHandler.cs
- FlowPanelDesigner.cs
- MemberRelationshipService.cs
- GradientStop.cs
- GridViewItemAutomationPeer.cs
- _ListenerAsyncResult.cs
- XmlEnumAttribute.cs
- ListViewItem.cs
- BamlWriter.cs
- UnlockInstanceCommand.cs
- XmlSerializer.cs
- CodeTypeDeclaration.cs
- DefaultTextStore.cs
- RectAnimationClockResource.cs
- TimerElapsedEvenArgs.cs
- ViewLoader.cs
- ValidationVisibilityAttribute.cs
- TraceSection.cs
- CustomSignedXml.cs
- CompilerCollection.cs
- XmlDataLoader.cs
- SqlDelegatedTransaction.cs
- XmlNodeChangedEventArgs.cs
- CodeAttributeArgument.cs
- SqlClientMetaDataCollectionNames.cs
- UIElementAutomationPeer.cs
- ProfileParameter.cs
- ValidationUtility.cs
- SafeCertificateContext.cs
- PeerNearMe.cs
- DataControlButton.cs
- CustomTypeDescriptor.cs
- SQLByte.cs
- SelectedDatesCollection.cs
- IfJoinedCondition.cs