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
- XmlSchemaAttribute.cs
- HtmlButton.cs
- ThrowHelper.cs
- EventTask.cs
- OleDbRowUpdatingEvent.cs
- __ComObject.cs
- CustomAttribute.cs
- PolyLineSegment.cs
- CommentEmitter.cs
- TerminatorSinks.cs
- ComponentSerializationService.cs
- FunctionDefinition.cs
- BlobPersonalizationState.cs
- BooleanProjectedSlot.cs
- ModelUtilities.cs
- WorkItem.cs
- Cursor.cs
- ToolBar.cs
- ConfigurationSectionCollection.cs
- CleanUpVirtualizedItemEventArgs.cs
- XmlCountingReader.cs
- shaperfactory.cs
- ScriptingProfileServiceSection.cs
- ScriptingScriptResourceHandlerSection.cs
- OneToOneMappingSerializer.cs
- ContentElement.cs
- FontNamesConverter.cs
- ProcessRequestArgs.cs
- ToolStripSplitButton.cs
- DragDrop.cs
- VisualStyleElement.cs
- ScrollContentPresenter.cs
- CompositionAdorner.cs
- thaishape.cs
- AudioFileOut.cs
- DbMetaDataColumnNames.cs
- ISSmlParser.cs
- ByteAnimationUsingKeyFrames.cs
- DataGridCellEditEndingEventArgs.cs
- WebHeaderCollection.cs
- XPathNavigatorKeyComparer.cs
- XmlSchemaInferenceException.cs
- DateTimeOffsetConverter.cs
- PresentationTraceSources.cs
- FloaterBaseParagraph.cs
- HasActivatableWorkflowEvent.cs
- XPathSelectionIterator.cs
- NameNode.cs
- WindowsSpinner.cs
- DispatchWrapper.cs
- DataGridCaption.cs
- NumericUpDownAccelerationCollection.cs
- SourceSwitch.cs
- APCustomTypeDescriptor.cs
- AppliedDeviceFiltersEditor.cs
- PixelFormatConverter.cs
- XPathException.cs
- BindingListCollectionView.cs
- CatalogZoneBase.cs
- NavigationWindowAutomationPeer.cs
- QilInvokeEarlyBound.cs
- BooleanFacetDescriptionElement.cs
- EventBindingService.cs
- DataSpaceManager.cs
- XmlDesigner.cs
- OneToOneMappingSerializer.cs
- DataSourceXmlSerializer.cs
- ObjectDataSource.cs
- RegexMatch.cs
- MemberJoinTreeNode.cs
- TextRenderer.cs
- RtfControls.cs
- MessageDesigner.cs
- WebFormsRootDesigner.cs
- ArrayWithOffset.cs
- WebHttpBinding.cs
- TextTreeUndo.cs
- CachedPathData.cs
- MessageSecurityOverHttpElement.cs
- DataGridViewLinkCell.cs
- DataSet.cs
- PrintPageEvent.cs
- RowUpdatingEventArgs.cs
- IPEndPointCollection.cs
- AuthorizationRule.cs
- FontConverter.cs
- storepermission.cs
- DataGridViewLinkCell.cs
- TextLineBreak.cs
- HtmlFormWrapper.cs
- EntityConnectionStringBuilderItem.cs
- TreeNodeConverter.cs
- SafeNativeMethods.cs
- DataControlField.cs
- TextProperties.cs
- SqlLiftIndependentRowExpressions.cs
- TouchEventArgs.cs
- TextParagraphCache.cs
- RoleManagerSection.cs
- DocumentGridContextMenu.cs