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
- SimpleNameService.cs
- XPathNode.cs
- FormViewInsertedEventArgs.cs
- MutexSecurity.cs
- XPathNodeList.cs
- XmlNullResolver.cs
- BamlResourceSerializer.cs
- GlobalProxySelection.cs
- RadioButtonFlatAdapter.cs
- RoleManagerModule.cs
- Polygon.cs
- MetadataException.cs
- ObjectListCommandEventArgs.cs
- FixedTextBuilder.cs
- Module.cs
- Boolean.cs
- Iis7Helper.cs
- Ref.cs
- ParseElement.cs
- StrongNameUtility.cs
- Queue.cs
- filewebrequest.cs
- WebChannelFactory.cs
- UnsafeNativeMethods.cs
- ObjectHandle.cs
- DBCommand.cs
- IndicCharClassifier.cs
- StructuralCache.cs
- SchemaElementLookUpTable.cs
- HtmlTableRowCollection.cs
- ECDiffieHellmanCngPublicKey.cs
- GridItemPattern.cs
- Expression.cs
- LoginUtil.cs
- Utility.cs
- StoreUtilities.cs
- MimeMultiPart.cs
- InkCanvas.cs
- KeyNotFoundException.cs
- DynamicDiscoSearcher.cs
- DataListItem.cs
- TextTreeUndo.cs
- SystemInformation.cs
- MenuScrollingVisibilityConverter.cs
- RemoteArgument.cs
- BamlRecordHelper.cs
- WorkflowDataContext.cs
- AddingNewEventArgs.cs
- ClientSettingsStore.cs
- ToolStripLocationCancelEventArgs.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- WebPartConnection.cs
- SessionState.cs
- ErrorEventArgs.cs
- PageCodeDomTreeGenerator.cs
- StateRuntime.cs
- TextBox.cs
- AppDomainManager.cs
- BufferedGraphicsContext.cs
- EndpointDispatcherTable.cs
- SQLDecimalStorage.cs
- XPathBinder.cs
- RouteCollection.cs
- Input.cs
- MeasureData.cs
- CollectionBuilder.cs
- NetworkAddressChange.cs
- FloaterBaseParaClient.cs
- BrushMappingModeValidation.cs
- PointLight.cs
- UndoEngine.cs
- XmlCompatibilityReader.cs
- SvcMapFileLoader.cs
- Main.cs
- WarningException.cs
- StyleBamlTreeBuilder.cs
- DrawingBrush.cs
- ParallelEnumerable.cs
- LoginCancelEventArgs.cs
- AssemblyAttributes.cs
- PageHandlerFactory.cs
- Utils.cs
- ComboBox.cs
- ListItemCollection.cs
- DataListItemCollection.cs
- NamespaceEmitter.cs
- _ListenerAsyncResult.cs
- InvokeHandlers.cs
- RegexGroup.cs
- ACL.cs
- BufferAllocator.cs
- TextDecorationCollectionConverter.cs
- SynchronizedDispatch.cs
- RoutingTable.cs
- Serialization.cs
- OLEDB_Util.cs
- ApplyHostConfigurationBehavior.cs
- QueryExpr.cs
- RIPEMD160.cs
- ImageList.cs