Code:
/ FX-1434 / FX-1434 / 1.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
- ToolBarButtonClickEvent.cs
- CodeTypeOfExpression.cs
- StyleTypedPropertyAttribute.cs
- SpnegoTokenProvider.cs
- SiteMapNode.cs
- GridViewSortEventArgs.cs
- XmlSignatureManifest.cs
- FixedLineResult.cs
- Size3DConverter.cs
- SoapEnumAttribute.cs
- DecimalAnimationUsingKeyFrames.cs
- CodeBlockBuilder.cs
- NetworkStream.cs
- CodeTypeConstructor.cs
- SoapConverter.cs
- MessageQueuePermission.cs
- StylusPointDescription.cs
- PeerCollaborationPermission.cs
- StringComparer.cs
- GridViewPageEventArgs.cs
- SlotInfo.cs
- XmlWrappingReader.cs
- Debug.cs
- Stacktrace.cs
- PenCursorManager.cs
- DocumentViewerConstants.cs
- SessionStateUtil.cs
- DataControlImageButton.cs
- Variable.cs
- CodeTypeDeclaration.cs
- ReachPrintTicketSerializer.cs
- MailSettingsSection.cs
- Binding.cs
- SoapExtensionImporter.cs
- SafeCoTaskMem.cs
- TextMetrics.cs
- HttpModule.cs
- EnumerableRowCollectionExtensions.cs
- AnnotationObservableCollection.cs
- ContextMenuStrip.cs
- KerberosRequestorSecurityToken.cs
- BooleanSwitch.cs
- ValidationErrorEventArgs.cs
- ServicesUtilities.cs
- Deserializer.cs
- XComponentModel.cs
- ScrollChangedEventArgs.cs
- TextTreeTextElementNode.cs
- ToolStripSplitStackLayout.cs
- DBCommand.cs
- DeferredSelectedIndexReference.cs
- CssStyleCollection.cs
- DelegateSerializationHolder.cs
- MasterPageBuildProvider.cs
- XmlSubtreeReader.cs
- StringValidator.cs
- DiscoveryDocumentReference.cs
- ChineseLunisolarCalendar.cs
- TextCollapsingProperties.cs
- CompilerScope.cs
- GridProviderWrapper.cs
- VirtualPathUtility.cs
- KeyConverter.cs
- NetworkStream.cs
- TrackingAnnotationCollection.cs
- SourceChangedEventArgs.cs
- BufferedGraphicsManager.cs
- FixedTextPointer.cs
- DynamicDataResources.Designer.cs
- CancellationHandlerDesigner.cs
- CodeMethodReturnStatement.cs
- listitem.cs
- RemotingConfigParser.cs
- CommandEventArgs.cs
- HtmlMeta.cs
- HttpTransportElement.cs
- EmptyControlCollection.cs
- AttributeQuery.cs
- _OverlappedAsyncResult.cs
- DataGridViewRowsRemovedEventArgs.cs
- DelegatedStream.cs
- HttpResponse.cs
- SmiEventStream.cs
- ToolStripSplitStackLayout.cs
- UnmanagedMarshal.cs
- ComplexObject.cs
- CategoryEditor.cs
- SymbolType.cs
- CompiledQuery.cs
- XmlDocumentFragment.cs
- MediaCommands.cs
- EraserBehavior.cs
- ImageClickEventArgs.cs
- TextSerializer.cs
- DBCommandBuilder.cs
- XamlPointCollectionSerializer.cs
- Matrix3DConverter.cs
- OleDbPermission.cs
- XmlBoundElement.cs
- WebPartEditorOkVerb.cs