Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / StringArrayEditor.cs / 1 / StringArrayEditor.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.Windows.Forms.Design {
using System;
using System.Collections;
using Microsoft.Win32;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Windows.Forms;
///
///
/// The StringArrayEditor is a collection editor that is specifically
/// designed to edit arrays containing strings.
///
internal class StringArrayEditor : StringCollectionEditor {
[SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
public StringArrayEditor(Type type)
: base(type)
{
}
///
///
/// Retrieves the data type this collection contains. The default
/// implementation looks inside of the collection for the Item property
/// and returns the returning datatype of the item. Do not call this
/// method directly. Instead, use the CollectionItemType property. Use this
/// method to override the default implementation.
///
protected override Type CreateCollectionItemType() {
return CollectionType.GetElementType();
}
///
///
/// We implement the getting and setting of items on this collection.
///
protected override object[] GetItems(object editValue) {
Array valueArray = editValue as Array;
if (valueArray == null)
{
return new object[0];
}
else
{
object[] items = new object[valueArray.GetLength(0)];
Array.Copy(valueArray, items, items.Length);
return items;
}
}
///
///
/// We implement the getting and setting of items on this collection.
/// It should return an instance to replace editValue with, or editValue
/// if there is no need to replace the instance.
///
protected override object SetItems(object editValue, object[] value) {
if (editValue is Array || editValue == null) {
Array newArray = Array.CreateInstance(CollectionItemType, value.Length);
Array.Copy(value, newArray, value.Length);
return newArray;
}
return editValue;
}
}
}
// 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
- WebControl.cs
- SourceChangedEventArgs.cs
- CodeMethodInvokeExpression.cs
- TransformerInfoCollection.cs
- serverconfig.cs
- AttachedAnnotationChangedEventArgs.cs
- TableItemProviderWrapper.cs
- SafeNativeMethods.cs
- PolyLineSegmentFigureLogic.cs
- ReferenceConverter.cs
- WebPartConnectionsCancelEventArgs.cs
- BrowsableAttribute.cs
- OleDbTransaction.cs
- HashSet.cs
- StateItem.cs
- PrePrepareMethodAttribute.cs
- DecoderFallbackWithFailureFlag.cs
- TextServicesContext.cs
- SQLBoolean.cs
- DateTimeFormatInfo.cs
- URIFormatException.cs
- PassportAuthentication.cs
- DBAsyncResult.cs
- ApplicationFileParser.cs
- FrameworkElementFactoryMarkupObject.cs
- AutomationInteropProvider.cs
- UpDownEvent.cs
- SessionStateModule.cs
- WindowsGraphicsCacheManager.cs
- StrokeNode.cs
- RoleServiceManager.cs
- AppDomainFactory.cs
- BaseAutoFormat.cs
- OwnerDrawPropertyBag.cs
- RijndaelManaged.cs
- XmlSchemaValidator.cs
- InputScope.cs
- DataComponentGenerator.cs
- ImageListUtils.cs
- ProfileSettingsCollection.cs
- Variable.cs
- Point3DKeyFrameCollection.cs
- ListParagraph.cs
- ZipIOBlockManager.cs
- Hex.cs
- Nullable.cs
- SqlServices.cs
- StylusEditingBehavior.cs
- PolyBezierSegment.cs
- StoreItemCollection.cs
- SamlAuthorizationDecisionClaimResource.cs
- Rect3D.cs
- remotingproxy.cs
- NonVisualControlAttribute.cs
- TrustSection.cs
- ProgressBar.cs
- RemoteWebConfigurationHost.cs
- MetaModel.cs
- TextElementAutomationPeer.cs
- WizardForm.cs
- TextContainerChangedEventArgs.cs
- ResourcePart.cs
- EmbeddedMailObject.cs
- ViewPort3D.cs
- MemoryFailPoint.cs
- BitmapFrameDecode.cs
- RectAnimationUsingKeyFrames.cs
- ExpressionBuilderContext.cs
- BasicHttpSecurityElement.cs
- Point4DValueSerializer.cs
- SQLString.cs
- LinqDataSourceDisposeEventArgs.cs
- AdornedElementPlaceholder.cs
- WCFModelStrings.Designer.cs
- HuffmanTree.cs
- CodeNamespaceImport.cs
- GlobalProxySelection.cs
- SpellCheck.cs
- TextPatternIdentifiers.cs
- AutomationIdentifier.cs
- MemberNameValidator.cs
- QilFunction.cs
- EqualityComparer.cs
- DataGridItem.cs
- SoapFormatter.cs
- BitmapEffectOutputConnector.cs
- SqlUDTStorage.cs
- DialogResultConverter.cs
- XmlnsCompatibleWithAttribute.cs
- Int32.cs
- CachedPathData.cs
- CasesDictionary.cs
- XmlBinaryWriter.cs
- PropertyChangedEventArgs.cs
- CodeCatchClauseCollection.cs
- OracleDataReader.cs
- RightsManagementErrorHandler.cs
- ImageDrawing.cs
- LowerCaseStringConverter.cs
- BaseValidator.cs