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
- EdmTypeAttribute.cs
- AttributeTableBuilder.cs
- XmlDataSource.cs
- WebPartManager.cs
- GeneralTransform3DTo2DTo3D.cs
- HyperLinkStyle.cs
- CoTaskMemUnicodeSafeHandle.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- DataKeyCollection.cs
- SqlDependency.cs
- CellIdBoolean.cs
- FacetDescription.cs
- SynthesizerStateChangedEventArgs.cs
- Hex.cs
- DropShadowEffect.cs
- Timer.cs
- FirewallWrapper.cs
- RIPEMD160Managed.cs
- HandleCollector.cs
- Rectangle.cs
- ISO2022Encoding.cs
- DbDataReader.cs
- AsnEncodedData.cs
- ExceptionAggregator.cs
- DiagnosticTrace.cs
- ContainerParaClient.cs
- TransformedBitmap.cs
- BuilderPropertyEntry.cs
- PeerResolverElement.cs
- wgx_commands.cs
- Viewport3DAutomationPeer.cs
- TextTreeInsertUndoUnit.cs
- AlphaSortedEnumConverter.cs
- PropertyEmitter.cs
- DataGridCaption.cs
- ImageSourceValueSerializer.cs
- ResXFileRef.cs
- Size3D.cs
- Configuration.cs
- MediaTimeline.cs
- MemberListBinding.cs
- EventMappingSettingsCollection.cs
- ControlValuePropertyAttribute.cs
- LinqDataSourceHelper.cs
- JsonObjectDataContract.cs
- ForceCopyBuildProvider.cs
- CalendarDesigner.cs
- ViewPort3D.cs
- StrongNameKeyPair.cs
- TextInfo.cs
- DataObjectPastingEventArgs.cs
- EditingMode.cs
- Transform3D.cs
- TransformConverter.cs
- Automation.cs
- CqlErrorHelper.cs
- SharedPersonalizationStateInfo.cs
- SelectorAutomationPeer.cs
- XmlElementAttribute.cs
- SimpleBitVector32.cs
- DataDocumentXPathNavigator.cs
- TypeLoadException.cs
- KeyBinding.cs
- WebPartDisplayMode.cs
- FrameDimension.cs
- DetailsViewAutoFormat.cs
- ApplicationException.cs
- MouseButton.cs
- DictionaryGlobals.cs
- XmlDocumentFragment.cs
- XmlName.cs
- AttributeCollection.cs
- _CacheStreams.cs
- Material.cs
- PageFunction.cs
- Double.cs
- UIPermission.cs
- CodeTypeReference.cs
- SingleQueryOperator.cs
- XmlRawWriter.cs
- CodeRegionDirective.cs
- AmbientLight.cs
- DataSourceExpressionCollection.cs
- FontFamilyValueSerializer.cs
- WorkflowHostingResponseContext.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SizeChangedEventArgs.cs
- OlePropertyStructs.cs
- _NetRes.cs
- ViewStateChangedEventArgs.cs
- FilteredXmlReader.cs
- TrackingProfileCache.cs
- DataSourceExpression.cs
- dbdatarecord.cs
- ObjectDataSourceEventArgs.cs
- PerfCounters.cs
- Brush.cs
- WindowInteropHelper.cs
- KnownTypesHelper.cs
- DbConnectionPool.cs