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
- HandlerMappingMemo.cs
- PolicyStatement.cs
- IPAddress.cs
- TreeChangeInfo.cs
- XmlWrappingWriter.cs
- CodeCompileUnit.cs
- COM2ExtendedUITypeEditor.cs
- HtmlShim.cs
- NominalTypeEliminator.cs
- WebPartConnectionsConfigureVerb.cs
- cookiecollection.cs
- InvalidAsynchronousStateException.cs
- CustomPopupPlacement.cs
- ObjectNavigationPropertyMapping.cs
- EditorPartDesigner.cs
- FileUtil.cs
- CharStorage.cs
- AppDomain.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- DummyDataSource.cs
- SerialPort.cs
- _UncName.cs
- Brushes.cs
- PreservationFileReader.cs
- PanelDesigner.cs
- FontCacheLogic.cs
- DataGridViewCellPaintingEventArgs.cs
- ClrPerspective.cs
- XmlHierarchicalDataSourceView.cs
- ResourceManagerWrapper.cs
- ProxyFragment.cs
- NamedPipeTransportElement.cs
- TypeUsageBuilder.cs
- FileDialogPermission.cs
- DataSourceCache.cs
- DelayedRegex.cs
- SqlBuilder.cs
- WebZone.cs
- ClientSettingsStore.cs
- SymLanguageVendor.cs
- PersonalizableTypeEntry.cs
- ColorConvertedBitmap.cs
- oledbmetadatacolumnnames.cs
- ProviderSettings.cs
- FixedTextContainer.cs
- StickyNoteAnnotations.cs
- ZeroOpNode.cs
- ListViewPagedDataSource.cs
- EventPrivateKey.cs
- AuthenticationManager.cs
- AspProxy.cs
- SafeEventLogWriteHandle.cs
- Tile.cs
- AdPostCacheSubstitution.cs
- CreatingCookieEventArgs.cs
- SqlInternalConnection.cs
- SchemaReference.cs
- ObjectSecurity.cs
- SchemaTableColumn.cs
- ParameterReplacerVisitor.cs
- ISAPIRuntime.cs
- VirtualPath.cs
- PeerNearMe.cs
- mediapermission.cs
- CoreChannel.cs
- CompressedStack.cs
- DataTableReader.cs
- MenuEventArgs.cs
- DataGridViewRow.cs
- RTLAwareMessageBox.cs
- DataBindingHandlerAttribute.cs
- HttpStreamFormatter.cs
- ScriptingSectionGroup.cs
- SQLBinary.cs
- PagerSettings.cs
- AssemblyAssociatedContentFileAttribute.cs
- StoreItemCollection.Loader.cs
- DataListItem.cs
- LoginName.cs
- TypeExtension.cs
- TemplateColumn.cs
- BulletedListEventArgs.cs
- HwndTarget.cs
- HttpResponseHeader.cs
- DurationConverter.cs
- ExpressionEditorAttribute.cs
- SvcMapFileLoader.cs
- ContextStaticAttribute.cs
- Tuple.cs
- OpCopier.cs
- Evidence.cs
- MeasureItemEvent.cs
- GroupItemAutomationPeer.cs
- ChangeConflicts.cs
- CatalogPartDesigner.cs
- WSHttpBindingBase.cs
- Transactions.cs
- Regex.cs
- ServiceMemoryGates.cs
- DataGridViewColumnCollection.cs