Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / FlowPanelDesigner.cs / 1 / FlowPanelDesigner.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.Design { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Diagnostics; using System.Windows.Forms.Design.Behavior; ////// /// Base class to our flow control designers: TableLayoutPanel and FlowLayoutPanel. /// This class shares common operations for these designers including: /// Stripping all padding SnapLines, adding children, and refreshing selection /// after a drag-drop operation - since these types of controls will always /// reposition children. /// internal class FlowPanelDesigner : PanelDesigner { ////// /// Overridden to disallow SnapLines during drag operations if the primary drag control /// is over the FlowPanelDesigner. /// public override bool ParticipatesWithSnapLines { get { return false; } } ////// /// Get the standard SnapLines from our ParentControlDesigner then /// strips all the padding lines - since we don't want these guys /// for flow designers. public override IList SnapLines { get { ArrayList snapLines = (ArrayList)base.SnapLines; //identify all the paddings to remove ArrayList paddingsToRemove = new ArrayList(4); foreach (SnapLine line in snapLines) { if (line.Filter != null && line.Filter.Contains(SnapLine.Padding)) { paddingsToRemove.Add(line); } } //remove all padding foreach (SnapLine line in paddingsToRemove) { snapLines.Remove(line); } return snapLines; } } /// /// /// Overrides the base and skips the adjustment of the child position /// since the runtime control will re-position this for us. /// internal override void AddChildControl(Control newChild) { // Skip location adjustment because FlowPanel is going to position this control. // Also, Skip z-order adjustment because SendToFront will put the new control at the // beginning of the flow instead of the end, plus FlowLayout is already preventing // overlap. this.Control.Controls.Add(newChild); } ////// /// We override this, call base, then attempt to re-sync the selection /// since the control will most likely re-position a child for us. /// protected override void OnDragDrop(DragEventArgs de) { base.OnDragDrop(de); SelectionManager sm = GetService(typeof(SelectionManager)) as SelectionManager; if (sm != null) { sm.Refresh(); } } } } // 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
- PropertyGridCommands.cs
- TranslateTransform3D.cs
- Group.cs
- SignatureResourceHelper.cs
- CompilerErrorCollection.cs
- HttpPostedFileWrapper.cs
- Permission.cs
- ServiceAuthorizationManager.cs
- ApplicationFileCodeDomTreeGenerator.cs
- EncoderNLS.cs
- UriWriter.cs
- XmlSchemaDatatype.cs
- TypeInitializationException.cs
- TcpChannelHelper.cs
- ConstrainedDataObject.cs
- ManagementScope.cs
- CreateUserErrorEventArgs.cs
- Compiler.cs
- _PooledStream.cs
- CompositeControl.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- XPathNavigator.cs
- RowVisual.cs
- PresentationAppDomainManager.cs
- TargetConverter.cs
- ParserHooks.cs
- RegexFCD.cs
- ObjectStateEntryDbDataRecord.cs
- BufferBuilder.cs
- Font.cs
- ContentHostHelper.cs
- DirectoryInfo.cs
- LiteralControl.cs
- BCLDebug.cs
- newinstructionaction.cs
- PerfCounterSection.cs
- DialogResultConverter.cs
- __TransparentProxy.cs
- HostingEnvironmentSection.cs
- TreeViewCancelEvent.cs
- httpapplicationstate.cs
- CustomMenuItemCollection.cs
- SharedPerformanceCounter.cs
- ReflectionTypeLoadException.cs
- Baml6ConstructorInfo.cs
- XmlBuffer.cs
- UnmanagedMemoryStream.cs
- ModuleBuilderData.cs
- KeyFrames.cs
- TouchFrameEventArgs.cs
- BinaryQueryOperator.cs
- TextEndOfSegment.cs
- Effect.cs
- DecimalAnimation.cs
- LinkArea.cs
- InternalDispatchObject.cs
- GridViewUpdatedEventArgs.cs
- ButtonFieldBase.cs
- namescope.cs
- EntityProviderFactory.cs
- Typography.cs
- TransformValueSerializer.cs
- HitTestDrawingContextWalker.cs
- Nullable.cs
- CorrelationManager.cs
- CodeEventReferenceExpression.cs
- IOException.cs
- DataGridViewRowHeaderCell.cs
- EmptyStringExpandableObjectConverter.cs
- SqlBulkCopyColumnMappingCollection.cs
- InvalidCastException.cs
- ArraySortHelper.cs
- BindingsCollection.cs
- ImageField.cs
- DefaultDialogButtons.cs
- SqlDataReader.cs
- EntityProviderServices.cs
- XPathArrayIterator.cs
- SafeNativeMethodsMilCoreApi.cs
- SystemIPGlobalStatistics.cs
- XmlSchemaImporter.cs
- LineGeometry.cs
- DatatypeImplementation.cs
- InstalledVoice.cs
- SystemWebSectionGroup.cs
- ConnectionPointCookie.cs
- ConfigurationCollectionAttribute.cs
- DBProviderConfigurationHandler.cs
- EditorPartChrome.cs
- TypeListConverter.cs
- EventTask.cs
- XAMLParseException.cs
- Maps.cs
- CryptoProvider.cs
- CompilerParameters.cs
- XmlSerializerSection.cs
- Crypto.cs
- RequestCachePolicy.cs
- QuadraticEase.cs
- XPathDocumentBuilder.cs