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
- ToolStripPanelCell.cs
- ColorConvertedBitmapExtension.cs
- PenThreadWorker.cs
- SoapTypeAttribute.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- XmlSchemaSet.cs
- TextContainerChangeEventArgs.cs
- QueryTreeBuilder.cs
- CursorConverter.cs
- MultipleViewProviderWrapper.cs
- Site.cs
- PipelineModuleStepContainer.cs
- HttpsHostedTransportConfiguration.cs
- RayMeshGeometry3DHitTestResult.cs
- TracedNativeMethods.cs
- Compiler.cs
- CharacterMetrics.cs
- SessionEndingEventArgs.cs
- WindowsSpinner.cs
- UnsafePeerToPeerMethods.cs
- IdentitySection.cs
- FocusTracker.cs
- RectKeyFrameCollection.cs
- ExceptionUtil.cs
- HyperLink.cs
- SelectedDatesCollection.cs
- PersonalizationProvider.cs
- QueryExpression.cs
- shaperfactory.cs
- OracleDataReader.cs
- ReflectionUtil.cs
- PageBuildProvider.cs
- TraceSection.cs
- SqlBooleanizer.cs
- BindStream.cs
- SettingsAttributes.cs
- Bold.cs
- FigureParaClient.cs
- ResourcePermissionBaseEntry.cs
- MediaCommands.cs
- xml.cs
- Root.cs
- SQLDouble.cs
- FloaterBaseParaClient.cs
- ResourceDefaultValueAttribute.cs
- CodeObject.cs
- TextCollapsingProperties.cs
- Helpers.cs
- HostExecutionContextManager.cs
- EnterpriseServicesHelper.cs
- ServiceBuildProvider.cs
- StickyNote.cs
- DataGridViewColumnCollection.cs
- SymmetricKey.cs
- DataGridViewTextBoxEditingControl.cs
- InternalPermissions.cs
- TaskFileService.cs
- ExpandableObjectConverter.cs
- QueryOperationResponseOfT.cs
- TextRunTypographyProperties.cs
- Pen.cs
- CodeTypeReferenceSerializer.cs
- AudioFormatConverter.cs
- PhysicalOps.cs
- InvalidPropValue.cs
- ComponentResourceKey.cs
- CollectionView.cs
- RC2.cs
- UnSafeCharBuffer.cs
- Inflater.cs
- SendMessageContent.cs
- MeshGeometry3D.cs
- SqlCacheDependencyDatabase.cs
- XmlName.cs
- ReachDocumentReferenceSerializer.cs
- XMLSchema.cs
- PrePrepareMethodAttribute.cs
- UrlMappingsSection.cs
- TextTreeInsertElementUndoUnit.cs
- SoundPlayerAction.cs
- DataObjectPastingEventArgs.cs
- RepeatBehavior.cs
- CookieHandler.cs
- SevenBitStream.cs
- IFlowDocumentViewer.cs
- WsdlInspector.cs
- MessagePartDescription.cs
- UInt64.cs
- MenuItemAutomationPeer.cs
- EdgeProfileValidation.cs
- ToolStripOverflowButton.cs
- Label.cs
- ServiceModelConfigurationSectionCollection.cs
- DefaultExpression.cs
- QueryOpeningEnumerator.cs
- UnmanagedMarshal.cs
- ChtmlImageAdapter.cs
- SectionRecord.cs
- SystemIPGlobalStatistics.cs
- MemoryPressure.cs