Code:
/ DotNET / DotNET / 8.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
- ModelTreeEnumerator.cs
- ScrollBar.cs
- MessageLoggingElement.cs
- SerializationEventsCache.cs
- NativeMethods.cs
- SymmetricAlgorithm.cs
- UnwrappedTypesXmlSerializerManager.cs
- IisTraceListener.cs
- querybuilder.cs
- DataGridViewCellCancelEventArgs.cs
- PageVisual.cs
- ImageListImage.cs
- ThicknessAnimationUsingKeyFrames.cs
- EdgeModeValidation.cs
- MenuItem.cs
- EntityParameter.cs
- CommandField.cs
- DataDocumentXPathNavigator.cs
- Mappings.cs
- DataGridViewElement.cs
- WindowsListViewGroupSubsetLink.cs
- TrustLevelCollection.cs
- TripleDES.cs
- XmlAttribute.cs
- SpecialFolderEnumConverter.cs
- BitmapData.cs
- ImmutablePropertyDescriptorGridEntry.cs
- BufferBuilder.cs
- RoutedEventHandlerInfo.cs
- ApplicationException.cs
- SqlConnectionFactory.cs
- SqlAggregateChecker.cs
- UnsafeNativeMethods.cs
- BufferModeSettings.cs
- IssuedTokenClientBehaviorsElementCollection.cs
- URIFormatException.cs
- AtomMaterializer.cs
- NativeMethods.cs
- ColorAnimation.cs
- LoadWorkflowCommand.cs
- JournalEntry.cs
- SmiMetaDataProperty.cs
- COM2FontConverter.cs
- AuthenticationConfig.cs
- WrappingXamlSchemaContext.cs
- Random.cs
- ColumnHeader.cs
- TextBoxBase.cs
- OletxDependentTransaction.cs
- TextRenderer.cs
- SimpleType.cs
- glyphs.cs
- SqlRowUpdatedEvent.cs
- ClassHandlersStore.cs
- Vector3DCollection.cs
- sqlser.cs
- FileUtil.cs
- ImageDesigner.cs
- StringStorage.cs
- TaskCanceledException.cs
- ArrangedElement.cs
- Utilities.cs
- PolyLineSegmentFigureLogic.cs
- EntityDataSourceMemberPath.cs
- SqlClientWrapperSmiStream.cs
- PositiveTimeSpanValidator.cs
- ConfigurationSection.cs
- InvokeHandlers.cs
- TextEmbeddedObject.cs
- InputLanguageCollection.cs
- DataSourceView.cs
- ResourceLoader.cs
- StatusBarItem.cs
- Interop.cs
- ErrorRuntimeConfig.cs
- RtfToken.cs
- PackWebRequestFactory.cs
- SessionState.cs
- Lease.cs
- SplayTreeNode.cs
- RegisteredExpandoAttribute.cs
- mda.cs
- ValidationResult.cs
- DeviceSpecificDialogCachedState.cs
- OleTxTransaction.cs
- AutomationPropertyInfo.cs
- ConversionContext.cs
- Stack.cs
- RuleSettingsCollection.cs
- MDIWindowDialog.cs
- SingleObjectCollection.cs
- PageHandlerFactory.cs
- HostingEnvironmentException.cs
- SByteStorage.cs
- ExpanderAutomationPeer.cs
- GridViewEditEventArgs.cs
- DataObject.cs
- AssemblyCollection.cs
- Cell.cs
- CodeDomSerializerException.cs