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
- DependencyPropertyDescriptor.cs
- OperationCanceledException.cs
- BasicHttpBindingElement.cs
- RoutedPropertyChangedEventArgs.cs
- BitmapImage.cs
- SplitterEvent.cs
- TrackBarRenderer.cs
- DesignerSerializationOptionsAttribute.cs
- SpotLight.cs
- PortCache.cs
- ResourceProviderFactory.cs
- OleDbCommandBuilder.cs
- KeyGestureConverter.cs
- HtmlMeta.cs
- ApplicationBuildProvider.cs
- SourceLineInfo.cs
- XmlDomTextWriter.cs
- SystemIPInterfaceStatistics.cs
- ContainerVisual.cs
- QueryResponse.cs
- ClientFormsIdentity.cs
- Assembly.cs
- ProgressBarRenderer.cs
- SmtpLoginAuthenticationModule.cs
- StaticFileHandler.cs
- NumericUpDownAccelerationCollection.cs
- OletxTransactionManager.cs
- Image.cs
- PathTooLongException.cs
- XmlSchemaInferenceException.cs
- Classification.cs
- MDIWindowDialog.cs
- ExpressionLink.cs
- RelationshipConverter.cs
- MarkupExtensionReturnTypeAttribute.cs
- DbDataReader.cs
- AllowedAudienceUriElementCollection.cs
- AnnotationAuthorChangedEventArgs.cs
- ViewStateModeByIdAttribute.cs
- DocumentScope.cs
- Single.cs
- ScrollItemProviderWrapper.cs
- SamlEvidence.cs
- NameNode.cs
- StrokeRenderer.cs
- Triangle.cs
- ColorConverter.cs
- SubpageParagraph.cs
- ComMethodElement.cs
- TargetException.cs
- DataGridViewColumn.cs
- QueryOptionExpression.cs
- TemplateControlCodeDomTreeGenerator.cs
- CaseInsensitiveOrdinalStringComparer.cs
- DataGrid.cs
- XPathSelectionIterator.cs
- ScrollItemPattern.cs
- Convert.cs
- EntityDataReader.cs
- MdImport.cs
- Choices.cs
- DesigntimeLicenseContext.cs
- UIElement.cs
- XmlBinaryWriterSession.cs
- ManipulationDelta.cs
- MexNamedPipeBindingElement.cs
- EntityTypeEmitter.cs
- Overlapped.cs
- WindowsFormsLinkLabel.cs
- NamespaceDisplay.xaml.cs
- HandleCollector.cs
- Hash.cs
- ColorTransform.cs
- DependencyPropertyHelper.cs
- FunctionDescription.cs
- ToolStripRenderer.cs
- SafeViewOfFileHandle.cs
- DefaultTextStore.cs
- SerialPinChanges.cs
- Application.cs
- DataProtectionSecurityStateEncoder.cs
- MimeFormatExtensions.cs
- Accessible.cs
- UTF8Encoding.cs
- _emptywebproxy.cs
- InitialServerConnectionReader.cs
- PassportAuthenticationModule.cs
- GetPageCompletedEventArgs.cs
- versioninfo.cs
- SessionState.cs
- RenderData.cs
- SmtpAuthenticationManager.cs
- ConnectionString.cs
- TemplateControlBuildProvider.cs
- DocumentsTrace.cs
- DataGridItem.cs
- CommentEmitter.cs
- SqlUdtInfo.cs
- StreamReader.cs
- VersionValidator.cs