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
- NullableDecimalAverageAggregationOperator.cs
- AppSettingsReader.cs
- ToolboxDataAttribute.cs
- GridViewDeleteEventArgs.cs
- ComponentEvent.cs
- ComponentCollection.cs
- TextDpi.cs
- GroupBoxRenderer.cs
- DataException.cs
- SoapInteropTypes.cs
- ImportContext.cs
- StorageConditionPropertyMapping.cs
- SettingsPropertyWrongTypeException.cs
- XmlValidatingReaderImpl.cs
- ReliableChannelBinder.cs
- SettingsBase.cs
- EventSource.cs
- ApplicationSettingsBase.cs
- DependencyPropertyHelper.cs
- Point3D.cs
- AttributeProviderAttribute.cs
- SqlProfileProvider.cs
- DoubleIndependentAnimationStorage.cs
- XmlFormatWriterGenerator.cs
- TraceContextEventArgs.cs
- SqlParameterCollection.cs
- NullRuntimeConfig.cs
- Invariant.cs
- DataBoundLiteralControl.cs
- FixedElement.cs
- BrowserCapabilitiesFactory.cs
- LayoutEvent.cs
- WebFaultClientMessageInspector.cs
- DataGridColumnCollection.cs
- AutomationElementCollection.cs
- X509ScopedServiceCertificateElement.cs
- CatalogPartChrome.cs
- HttpServerUtilityBase.cs
- WebBaseEventKeyComparer.cs
- ToolStripOverflow.cs
- ToolbarAUtomationPeer.cs
- GenericXmlSecurityToken.cs
- Encoder.cs
- ElementAtQueryOperator.cs
- QueryableFilterRepeater.cs
- WindowPattern.cs
- NativeCompoundFileAPIs.cs
- ModifiableIteratorCollection.cs
- TextAnchor.cs
- Flattener.cs
- MediaPlayerState.cs
- HiddenFieldDesigner.cs
- DataGridViewRowEventArgs.cs
- GeometryDrawing.cs
- WindowsFormsSectionHandler.cs
- EntityContainerRelationshipSetEnd.cs
- ByteKeyFrameCollection.cs
- BindableAttribute.cs
- ResourceContainer.cs
- SerializationSectionGroup.cs
- glyphs.cs
- SqlSupersetValidator.cs
- CompiledXpathExpr.cs
- CustomSignedXml.cs
- TcpClientSocketManager.cs
- TypeSystem.cs
- SignatureGenerator.cs
- SectionVisual.cs
- BrowsableAttribute.cs
- DataGridLinkButton.cs
- WpfPayload.cs
- EventMappingSettingsCollection.cs
- HebrewNumber.cs
- ApplicationException.cs
- IInstanceTable.cs
- InplaceBitmapMetadataWriter.cs
- ObjectReferenceStack.cs
- MenuItemCollection.cs
- DataGridViewRowHeaderCell.cs
- IDReferencePropertyAttribute.cs
- XPathParser.cs
- TaiwanLunisolarCalendar.cs
- mongolianshape.cs
- NameScope.cs
- FileClassifier.cs
- PointLightBase.cs
- CustomCategoryAttribute.cs
- Dynamic.cs
- FormsAuthenticationUser.cs
- ObjectListField.cs
- Win32.cs
- StylusPointProperty.cs
- XmlSchemaIdentityConstraint.cs
- _NtlmClient.cs
- DataGridViewAdvancedBorderStyle.cs
- WindowInteractionStateTracker.cs
- ChannelServices.cs
- PersonalizationProviderHelper.cs
- HtmlForm.cs
- WebBrowserHelper.cs