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
- CodeTypeOfExpression.cs
- Property.cs
- UIntPtr.cs
- GlyphingCache.cs
- MutexSecurity.cs
- ListViewItem.cs
- Pointer.cs
- OletxCommittableTransaction.cs
- JulianCalendar.cs
- SectionUpdates.cs
- DrawingContext.cs
- MultiView.cs
- XPathDocument.cs
- SelectedGridItemChangedEvent.cs
- IIS7WorkerRequest.cs
- CorruptStoreException.cs
- SQLConvert.cs
- IpcPort.cs
- ItemType.cs
- Int32CAMarshaler.cs
- NetworkCredential.cs
- ModelItemKeyValuePair.cs
- ClientSession.cs
- DecoderNLS.cs
- CommandManager.cs
- SplitContainerDesigner.cs
- Permission.cs
- HMACSHA512.cs
- Item.cs
- SectionInput.cs
- SqlTriggerAttribute.cs
- Action.cs
- ByteStreamGeometryContext.cs
- WsatTransactionInfo.cs
- PassportIdentity.cs
- DataControlCommands.cs
- LingerOption.cs
- Int64AnimationBase.cs
- Configuration.cs
- TableCellCollection.cs
- StructuredProperty.cs
- FeatureSupport.cs
- KeyMatchBuilder.cs
- Range.cs
- DelimitedListTraceListener.cs
- ReflectionPermission.cs
- DbgCompiler.cs
- XmlSubtreeReader.cs
- ViewManager.cs
- WebPartMinimizeVerb.cs
- WebPartDisplayModeCollection.cs
- WhiteSpaceTrimStringConverter.cs
- UIElementCollection.cs
- CryptoProvider.cs
- ReadOnlyNameValueCollection.cs
- GridLengthConverter.cs
- DoubleLinkList.cs
- BufferedStream.cs
- PrincipalPermission.cs
- SchemaImporterExtensionElement.cs
- ServiceObjectContainer.cs
- GridSplitter.cs
- ListBindableAttribute.cs
- CompilationLock.cs
- Privilege.cs
- PrinterResolution.cs
- ObjectIDGenerator.cs
- HttpCapabilitiesEvaluator.cs
- PowerModeChangedEventArgs.cs
- DayRenderEvent.cs
- TemplateEditingFrame.cs
- _NtlmClient.cs
- VisualBasicSettingsHandler.cs
- XsdDateTime.cs
- BamlRecords.cs
- ThreadInterruptedException.cs
- mongolianshape.cs
- HtmlTextArea.cs
- CookielessHelper.cs
- TableLayoutRowStyleCollection.cs
- WorkflowQueuingService.cs
- XsdBuildProvider.cs
- GeometryValueSerializer.cs
- XPathParser.cs
- CodeNamespaceImport.cs
- DesignOnlyAttribute.cs
- CodeDelegateCreateExpression.cs
- WindowsToolbar.cs
- WinFormsSecurity.cs
- EntityModelBuildProvider.cs
- DBBindings.cs
- CommandField.cs
- SqlClientMetaDataCollectionNames.cs
- HMACMD5.cs
- AmbientEnvironment.cs
- ReceiveContextCollection.cs
- TextEditorLists.cs
- SQLBytesStorage.cs
- FreezableOperations.cs
- UpdateException.cs