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
- JsonServiceDocumentSerializer.cs
- SqlServer2KCompatibilityAnnotation.cs
- DataGridViewDataConnection.cs
- WriteFileContext.cs
- ObjectDataSourceMethodEventArgs.cs
- RelationshipManager.cs
- OleDbWrapper.cs
- StorageAssociationSetMapping.cs
- RenamedEventArgs.cs
- XslException.cs
- _ListenerRequestStream.cs
- XsltSettings.cs
- DataTableClearEvent.cs
- DrawTreeNodeEventArgs.cs
- AttributeUsageAttribute.cs
- XComponentModel.cs
- WebPartAddingEventArgs.cs
- MDIControlStrip.cs
- BaseTemplateBuildProvider.cs
- CacheRequest.cs
- ResourceAssociationTypeEnd.cs
- XsdSchemaFileEditor.cs
- HtmlInputReset.cs
- ParameterElementCollection.cs
- ObjectContextServiceProvider.cs
- LocalFileSettingsProvider.cs
- CodeEventReferenceExpression.cs
- CollectionBase.cs
- HttpContextBase.cs
- HijriCalendar.cs
- StateChangeEvent.cs
- StoreUtilities.cs
- SimplePropertyEntry.cs
- JavaScriptObjectDeserializer.cs
- Point3DIndependentAnimationStorage.cs
- TextBoxRenderer.cs
- WindowsFormsHostAutomationPeer.cs
- Enlistment.cs
- DesignerActionHeaderItem.cs
- WasEndpointConfigContainer.cs
- WebCodeGenerator.cs
- SecureEnvironment.cs
- SizeF.cs
- TableItemStyle.cs
- TripleDESCryptoServiceProvider.cs
- EntitySetBaseCollection.cs
- PipelineModuleStepContainer.cs
- UpdateProgress.cs
- HttpCacheVary.cs
- EpmTargetPathSegment.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- Code.cs
- SmtpReplyReader.cs
- LookupBindingPropertiesAttribute.cs
- SettingsAttributes.cs
- Query.cs
- WeakReferenceEnumerator.cs
- ThicknessKeyFrameCollection.cs
- DataControlButton.cs
- BindingValueChangedEventArgs.cs
- PropertyDescriptor.cs
- ArcSegment.cs
- DropDownButton.cs
- DupHandleConnectionReader.cs
- Filter.cs
- SQLMoneyStorage.cs
- SoapObjectWriter.cs
- TypeBuilder.cs
- GridItem.cs
- BamlLocalizabilityResolver.cs
- CipherData.cs
- TypeDescriptor.cs
- FontConverter.cs
- ComponentDesigner.cs
- JavaScriptObjectDeserializer.cs
- TableRow.cs
- UrlMappingsModule.cs
- ContextCorrelationInitializer.cs
- AbsoluteQuery.cs
- CodeMemberMethod.cs
- _SSPISessionCache.cs
- WindowVisualStateTracker.cs
- xamlnodes.cs
- Error.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- AppSecurityManager.cs
- EntityModelSchemaGenerator.cs
- PageSetupDialog.cs
- CatalogZoneDesigner.cs
- HotSpot.cs
- ProcessHost.cs
- GetCertificateRequest.cs
- SettingsPropertyNotFoundException.cs
- UnmanagedMemoryStream.cs
- ProtocolsConfigurationEntry.cs
- HtmlWindowCollection.cs
- ProxyWebPart.cs
- EnumerableCollectionView.cs
- UtilityExtension.cs
- XmlSchemaAnnotation.cs