Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / listviewsubitemcollectioneditor.cs / 1 / listviewsubitemcollectioneditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="System.Windows.Forms.Design.ListViewSubItemCollectionEditor..ctor(System.Type)")] namespace System.Windows.Forms.Design { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.IO; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Windows.Forms; using System.Drawing; using System.Design; using System.Drawing.Design; using System.Windows.Forms.ComponentModel; ////// /// internal class ListViewSubItemCollectionEditor : CollectionEditor { private static int count = 0; ListViewItem.ListViewSubItem firstSubItem = null; ////// Provides an editor for an image collection. ////// /// public ListViewSubItemCollectionEditor(Type type) : base(type){ } ///Initializes a new instance of the ///class. /// /// // VSWhidbey 122909: Set the Name property in the item's properties. protected override object CreateInstance(Type type) { object instance = base.CreateInstance(type); // slap in a default site-like name if (instance is ListViewItem.ListViewSubItem) { ((ListViewItem.ListViewSubItem)instance).Name = SR.GetString(SR.ListViewSubItemBaseName) + count++; } return instance; } ///Creates an instance of the specified type in the collection. ////// /// Retrieves the display text for the given list sub item. /// protected override string GetDisplayText(object value) { string text; if (value == null) { return string.Empty; } PropertyDescriptor prop = TypeDescriptor.GetDefaultProperty(CollectionType); if (prop != null && prop.PropertyType == typeof(string)) { text = (string)prop.GetValue(value); if (text != null && text.Length > 0) { return text; } } text = TypeDescriptor.GetConverter(value).ConvertToString(value); if (text == null || text.Length == 0) { text = value.GetType().Name; } return text; } ///protected override object[] GetItems(object editValue) { // take the fist sub item out of the collection ListViewItem.ListViewSubItemCollection subItemsColl = (ListViewItem.ListViewSubItemCollection) editValue; // add all the other sub items object[] values = new object[subItemsColl.Count]; ((ICollection)subItemsColl).CopyTo(values, 0); if (values.Length > 0) { // save the first sub item firstSubItem = subItemsColl[0]; // now return the rest. // object[] subValues = new object[values.Length - 1]; Array.Copy(values, 1, subValues, 0, subValues.Length); values = subValues; } return values; } /// protected override object SetItems(object editValue, object[] value) { IList list = editValue as IList; list.Clear(); list.Add(firstSubItem); for (int i = 0; i < value.Length; i ++) { list.Add(value[i]); } 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
- FieldTemplateFactory.cs
- CodeGenerator.cs
- SqlWriter.cs
- _ListenerResponseStream.cs
- Buffer.cs
- FormViewPageEventArgs.cs
- QilGenerator.cs
- Base64Encoding.cs
- EntryPointNotFoundException.cs
- SymbolPair.cs
- XmlWrappingReader.cs
- SafeBitVector32.cs
- Button.cs
- Animatable.cs
- InheritanceContextHelper.cs
- DoubleAverageAggregationOperator.cs
- ResourceReferenceExpressionConverter.cs
- SqlUserDefinedAggregateAttribute.cs
- PageRanges.cs
- XmlFormatWriterGenerator.cs
- DBConnection.cs
- Point3DIndependentAnimationStorage.cs
- Comparer.cs
- _DigestClient.cs
- ValueUnavailableException.cs
- SetStoryboardSpeedRatio.cs
- RSACryptoServiceProvider.cs
- Storyboard.cs
- HostVisual.cs
- PassportAuthenticationModule.cs
- _AutoWebProxyScriptWrapper.cs
- EventRouteFactory.cs
- ImageClickEventArgs.cs
- MimeMapping.cs
- ScrollEventArgs.cs
- RecognizedAudio.cs
- smtpconnection.cs
- TraversalRequest.cs
- HWStack.cs
- WpfKnownMember.cs
- Identifier.cs
- Geometry3D.cs
- RadioButtonStandardAdapter.cs
- TypedTableHandler.cs
- IPAddress.cs
- AuthorizationRuleCollection.cs
- XamlBuildTaskServices.cs
- MetadataProperty.cs
- oledbconnectionstring.cs
- ToolStripOverflow.cs
- EntityReference.cs
- WebResponse.cs
- ErrorWrapper.cs
- SecurityKeyIdentifierClause.cs
- TypeElement.cs
- BinaryFormatter.cs
- NavigatorOutput.cs
- ToolStripButton.cs
- ApplicationSettingsBase.cs
- OutputScopeManager.cs
- SQLDateTimeStorage.cs
- SHA256Managed.cs
- EdmError.cs
- FormCollection.cs
- _LocalDataStore.cs
- SQLInt16.cs
- CompositeFontInfo.cs
- QilExpression.cs
- XmlAttributeProperties.cs
- PrivilegedConfigurationManager.cs
- AnyReturnReader.cs
- HostingEnvironmentWrapper.cs
- XmlAttribute.cs
- HttpConfigurationContext.cs
- CellPartitioner.cs
- IDataContractSurrogate.cs
- recordstatefactory.cs
- ExpressionBinding.cs
- MgmtConfigurationRecord.cs
- StorageEntityTypeMapping.cs
- SchemaEntity.cs
- GZipStream.cs
- WebBrowserSiteBase.cs
- CodeIdentifier.cs
- ReadOnlyDataSourceView.cs
- DataSourceUtil.cs
- SharedDp.cs
- EtwTrace.cs
- UndoManager.cs
- WebPartDescriptionCollection.cs
- StringSorter.cs
- WebPartMovingEventArgs.cs
- ImageAutomationPeer.cs
- TemplateControl.cs
- XPathDocumentBuilder.cs
- NonSerializedAttribute.cs
- ToolboxItemAttribute.cs
- FirstMatchCodeGroup.cs
- ReferencedType.cs
- EndEvent.cs