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
- ResetableIterator.cs
- TcpClientChannel.cs
- SvcMapFile.cs
- IsolationInterop.cs
- NTAccount.cs
- DisplayInformation.cs
- CrossAppDomainChannel.cs
- SafeEventHandle.cs
- UIElementCollection.cs
- JoinTreeNode.cs
- IChannel.cs
- Typeface.cs
- WebInvokeAttribute.cs
- ViewValidator.cs
- AddInController.cs
- Stackframe.cs
- CodeRegionDirective.cs
- DocumentViewerBaseAutomationPeer.cs
- SqlTriggerAttribute.cs
- StateMachine.cs
- ThicknessAnimation.cs
- NumberSubstitution.cs
- ProtocolsSection.cs
- ObjectAnimationUsingKeyFrames.cs
- Propagator.JoinPropagator.cs
- DataRowCollection.cs
- TreeIterators.cs
- ResourcesChangeInfo.cs
- FormsAuthenticationCredentials.cs
- figurelength.cs
- GifBitmapDecoder.cs
- TypeElement.cs
- StreamReader.cs
- pingexception.cs
- SessionStateModule.cs
- MinMaxParagraphWidth.cs
- KnownTypesHelper.cs
- Process.cs
- CollectionView.cs
- DataObjectFieldAttribute.cs
- _DomainName.cs
- ReadContentAsBinaryHelper.cs
- Table.cs
- BitmapEffectInput.cs
- StylusPointPropertyInfo.cs
- arc.cs
- EventManager.cs
- controlskin.cs
- GenericPrincipal.cs
- RichTextBox.cs
- FileDataSourceCache.cs
- Proxy.cs
- DataGridViewCellValueEventArgs.cs
- User.cs
- TdsParser.cs
- ScalarConstant.cs
- CapabilitiesSection.cs
- WebPartDesigner.cs
- EncoderParameter.cs
- xsdvalidator.cs
- _ConnectStream.cs
- WbemProvider.cs
- XmlElementAttribute.cs
- CommentEmitter.cs
- ListBindingConverter.cs
- AsymmetricKeyExchangeFormatter.cs
- XPathDocumentNavigator.cs
- WorkflowInstanceSuspendedRecord.cs
- CodeDomDecompiler.cs
- XmlDataSourceView.cs
- ProjectionPruner.cs
- dbenumerator.cs
- DbProviderSpecificTypePropertyAttribute.cs
- NamespaceDecl.cs
- StatusCommandUI.cs
- DataObjectEventArgs.cs
- TextCompositionEventArgs.cs
- CreateUserWizardStep.cs
- ServiceDocumentFormatter.cs
- SafeRightsManagementSessionHandle.cs
- SafeNativeMethods.cs
- util.cs
- NonBatchDirectoryCompiler.cs
- SemanticAnalyzer.cs
- AssemblyHash.cs
- CommandExpr.cs
- UriWriter.cs
- WmlControlAdapter.cs
- OpenCollectionAsyncResult.cs
- TransformPattern.cs
- DoubleIndependentAnimationStorage.cs
- HashSetEqualityComparer.cs
- Task.cs
- StringComparer.cs
- DefaultTextStoreTextComposition.cs
- WhiteSpaceTrimStringConverter.cs
- CheckBoxFlatAdapter.cs
- CorePropertiesFilter.cs
- DefaultPropertyAttribute.cs
- SqlDataSourceEnumerator.cs