Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / ListViewGroupCollectionEditor.cs / 1 / ListViewGroupCollectionEditor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="System.Windows.Forms.Design.ListViewGroupCollectionEditor..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.ComponentModel.Design.Serialization; using System.Windows.Forms; using System.Drawing; using System.Design; using System.Drawing.Design; using System.Windows.Forms.ComponentModel; ////// /// internal class ListViewGroupCollectionEditor : CollectionEditor { object editValue; ////// Provides an editor for an image collection. ////// /// public ListViewGroupCollectionEditor(Type type) : base(type){ } ////// /// Creates a ListViewGroup instance. /// protected override object CreateInstance(Type itemType) { ListViewGroup lvg = (ListViewGroup) base.CreateInstance(itemType); // Create an unique name for the list view group. lvg.Name = CreateListViewGroupName((ListViewGroupCollection) this.editValue); return lvg; } private string CreateListViewGroupName(ListViewGroupCollection lvgCollection) { string lvgName = "ListViewGroup"; string resultName; INameCreationService ncs = this.GetService(typeof(INameCreationService)) as INameCreationService; IContainer container = this.GetService(typeof(IContainer)) as IContainer; if (ncs != null && container != null) { lvgName = ncs.CreateName(container, typeof(ListViewGroup)); } // strip the digits from the end. while (Char.IsDigit(lvgName[lvgName.Length - 1])) { lvgName = lvgName.Substring(0, lvgName.Length - 1); } int i = 1; resultName = lvgName + i.ToString(System.Globalization.CultureInfo.CurrentCulture); while (lvgCollection[resultName] != null) { i ++; resultName = lvgName + i.ToString(System.Globalization.CultureInfo.CurrentCulture); } return resultName; } public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { this.editValue = value; object ret; // This will block while the ListViewGroupCollectionDialog is running. ret = base.EditValue(context, provider, value); // The user is done w/ the ListViewGroupCollectionDialog. // Don't need the edit value any longer this.editValue = null; return ret; } } } // 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
- XmlLanguageConverter.cs
- ConfigXmlWhitespace.cs
- COM2EnumConverter.cs
- WrapperEqualityComparer.cs
- ObjectDataSourceFilteringEventArgs.cs
- EdmComplexPropertyAttribute.cs
- SafeLocalMemHandle.cs
- TogglePatternIdentifiers.cs
- PropertyTabAttribute.cs
- PagedDataSource.cs
- SecurityException.cs
- TypeDescriptorFilterService.cs
- BitmapFrameDecode.cs
- XPathNode.cs
- DefaultEventAttribute.cs
- PreservationFileReader.cs
- LeafCellTreeNode.cs
- UpdatePanelTriggerCollection.cs
- TextReader.cs
- DATA_BLOB.cs
- WebService.cs
- DetailsViewUpdateEventArgs.cs
- FixedSOMPage.cs
- Documentation.cs
- IfJoinedCondition.cs
- SymbolEqualComparer.cs
- BaseCollection.cs
- SchemaImporterExtensionElement.cs
- BreakSafeBase.cs
- SecurityUtils.cs
- smtpconnection.cs
- GroupJoinQueryOperator.cs
- Label.cs
- CanonicalXml.cs
- RegistrySecurity.cs
- Schema.cs
- KeyedHashAlgorithm.cs
- XmlSerializerAssemblyAttribute.cs
- DatePickerTextBox.cs
- DataGridViewComboBoxColumnDesigner.cs
- RoutedUICommand.cs
- Random.cs
- InputLanguageCollection.cs
- ISCIIEncoding.cs
- TdsParser.cs
- InvariantComparer.cs
- ZipIOBlockManager.cs
- StylusDevice.cs
- FileReader.cs
- XmlAttributeProperties.cs
- MsmqIntegrationChannelListener.cs
- IndexOutOfRangeException.cs
- log.cs
- remotingproxy.cs
- MediaTimeline.cs
- RootBuilder.cs
- XPathQueryGenerator.cs
- EventData.cs
- CultureTableRecord.cs
- NetworkInterface.cs
- COM2Properties.cs
- CheckBoxBaseAdapter.cs
- OdbcConnectionStringbuilder.cs
- SemaphoreFullException.cs
- NaturalLanguageHyphenator.cs
- ListItemConverter.cs
- ClusterUtils.cs
- WebException.cs
- WinEventHandler.cs
- ServerValidateEventArgs.cs
- COM2FontConverter.cs
- _AuthenticationState.cs
- DoWorkEventArgs.cs
- _TLSstream.cs
- Query.cs
- TextRunCache.cs
- XmlName.cs
- ContextMenuStrip.cs
- AutomationPatternInfo.cs
- DataTable.cs
- WebPartEditorApplyVerb.cs
- XmlCountingReader.cs
- CustomAttributeFormatException.cs
- CollectionViewSource.cs
- OrderedHashRepartitionStream.cs
- GradientBrush.cs
- NonDualMessageSecurityOverHttp.cs
- CqlWriter.cs
- ProjectionPathBuilder.cs
- MasterPageBuildProvider.cs
- Crc32.cs
- EdmSchemaAttribute.cs
- FileRecordSequence.cs
- XmlUtilWriter.cs
- LoginView.cs
- DbModificationCommandTree.cs
- XmlRawWriterWrapper.cs
- BooleanFacetDescriptionElement.cs
- SafeFileHandle.cs
- SourceFilter.cs