Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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. // //----------------------------------------------------------------------------- /* */ 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
- DesignerActionKeyboardBehavior.cs
- SimpleHandlerBuildProvider.cs
- SoapConverter.cs
- Rfc2898DeriveBytes.cs
- TrackingDataItem.cs
- RestHandler.cs
- QueryCorrelationInitializer.cs
- EventQueueState.cs
- FixedSOMPageElement.cs
- SqlProviderManifest.cs
- TouchFrameEventArgs.cs
- SignatureGenerator.cs
- RegistrySecurity.cs
- SQLRoleProvider.cs
- FilterQuery.cs
- ClientSponsor.cs
- ColumnBinding.cs
- XamlGridLengthSerializer.cs
- ListItemDetailViewAttribute.cs
- AffineTransform3D.cs
- WebPartDesigner.cs
- RegistrationServices.cs
- SqlWorkflowPersistenceService.cs
- HttpApplication.cs
- TemplateNameScope.cs
- ServiceNameCollection.cs
- FaultConverter.cs
- OleDbMetaDataFactory.cs
- FamilyMapCollection.cs
- ImageCodecInfoPrivate.cs
- HashSetEqualityComparer.cs
- TrackingCondition.cs
- ErrorHandlingReceiver.cs
- CacheModeValueSerializer.cs
- SymmetricKeyWrap.cs
- RectAnimationBase.cs
- ListViewItemMouseHoverEvent.cs
- ControlAdapter.cs
- String.cs
- XmlSerializerOperationGenerator.cs
- RemoteEndpointMessageProperty.cs
- InvokeHandlers.cs
- ToolStripRenderEventArgs.cs
- GuidelineCollection.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- WmlSelectionListAdapter.cs
- MultiTargetingUtil.cs
- VisualStateManager.cs
- TableLayoutPanelCodeDomSerializer.cs
- ObjectList.cs
- X509UI.cs
- ExplicitDiscriminatorMap.cs
- SystemDropShadowChrome.cs
- OleStrCAMarshaler.cs
- StackOverflowException.cs
- RsaSecurityKey.cs
- TypeUtil.cs
- IndexedSelectQueryOperator.cs
- _NativeSSPI.cs
- SuppressMergeCheckAttribute.cs
- ToolStripItemImageRenderEventArgs.cs
- InheritanceAttribute.cs
- DispatchChannelSink.cs
- _Win32.cs
- PnrpPeerResolverElement.cs
- DocumentationServerProtocol.cs
- XslAst.cs
- StreamInfo.cs
- HostingEnvironmentWrapper.cs
- SevenBitStream.cs
- Currency.cs
- TaiwanLunisolarCalendar.cs
- IfAction.cs
- CollectionViewGroupInternal.cs
- MarkupObject.cs
- SourceFilter.cs
- TreeViewHitTestInfo.cs
- UITypeEditor.cs
- WebConfigurationHost.cs
- SessionStateItemCollection.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- StorageComplexTypeMapping.cs
- PathFigure.cs
- Border.cs
- BamlBinaryWriter.cs
- WebPartTracker.cs
- DataGridViewAdvancedBorderStyle.cs
- IList.cs
- _HelperAsyncResults.cs
- InputBindingCollection.cs
- InternalsVisibleToAttribute.cs
- HostedImpersonationContext.cs
- XmlSchemaSubstitutionGroup.cs
- FileStream.cs
- SqlFileStream.cs
- EventProviderWriter.cs
- HttpWriter.cs
- XmlDictionaryString.cs
- ObjectReaderCompiler.cs
- PreProcessor.cs