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
- Serializer.cs
- GraphicsState.cs
- StatusBarDrawItemEvent.cs
- RequiredFieldValidator.cs
- WindowsListView.cs
- SatelliteContractVersionAttribute.cs
- PEFileEvidenceFactory.cs
- Maps.cs
- InterleavedZipPartStream.cs
- Application.cs
- ListViewTableRow.cs
- CatalogPartCollection.cs
- BitmapCodecInfoInternal.cs
- IIS7WorkerRequest.cs
- TextRangeSerialization.cs
- SQLInt16Storage.cs
- SharedPerformanceCounter.cs
- OleDbCommand.cs
- Material.cs
- OneToOneMappingSerializer.cs
- DbConnectionPoolOptions.cs
- GridViewItemAutomationPeer.cs
- GregorianCalendar.cs
- CheckBoxField.cs
- BaseValidator.cs
- SystemMulticastIPAddressInformation.cs
- AsyncContentLoadedEventArgs.cs
- BamlWriter.cs
- ComponentEditorPage.cs
- WebBrowserBase.cs
- WebBrowserPermission.cs
- TextEmbeddedObject.cs
- OleDbCommand.cs
- InvariantComparer.cs
- CompilerResults.cs
- SessionStateItemCollection.cs
- RunWorkerCompletedEventArgs.cs
- LinkedList.cs
- AVElementHelper.cs
- Transform.cs
- StringSource.cs
- SurrogateDataContract.cs
- AdRotatorDesigner.cs
- C14NUtil.cs
- XmlSchemaComplexContentRestriction.cs
- ObjectConverter.cs
- AddInControllerImpl.cs
- SimpleWebHandlerParser.cs
- TriggerCollection.cs
- Aggregates.cs
- Size3D.cs
- NativeMethods.cs
- ObjectQueryState.cs
- GeneralTransformGroup.cs
- SoapServerProtocol.cs
- MetadataItem.cs
- ResourceKey.cs
- NumberFunctions.cs
- StylusCollection.cs
- ColorMatrix.cs
- NativeMethodsOther.cs
- ISCIIEncoding.cs
- TableCellCollection.cs
- ListViewItem.cs
- MemberRelationshipService.cs
- RuleSetDialog.cs
- DirectoryRootQuery.cs
- HistoryEventArgs.cs
- WmlLinkAdapter.cs
- TextInfo.cs
- TextTreeFixupNode.cs
- OrderedDictionary.cs
- Context.cs
- CommandLibraryHelper.cs
- GeneralTransform3DTo2D.cs
- XPathScanner.cs
- EventSource.cs
- FontStretch.cs
- COAUTHIDENTITY.cs
- RangeBaseAutomationPeer.cs
- SubpageParaClient.cs
- CodeExporter.cs
- EditorPart.cs
- CollectionChange.cs
- WindowsImpersonationContext.cs
- TemplatePropertyEntry.cs
- SecurityProtocol.cs
- ImageButton.cs
- ContentDefinition.cs
- Rect3D.cs
- RSAOAEPKeyExchangeFormatter.cs
- ContentDisposition.cs
- CustomActivityDesigner.cs
- UpDownBaseDesigner.cs
- MediaSystem.cs
- BindableTemplateBuilder.cs
- SignatureDescription.cs
- QilValidationVisitor.cs
- SqlDataSourceView.cs
- StandardOleMarshalObject.cs