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
- ListViewDeletedEventArgs.cs
- FeatureAttribute.cs
- TemplateBuilder.cs
- WrappedReader.cs
- DataGridItemEventArgs.cs
- IPGlobalProperties.cs
- MissingManifestResourceException.cs
- StyleTypedPropertyAttribute.cs
- Properties.cs
- RequestResizeEvent.cs
- Socket.cs
- DSASignatureDeformatter.cs
- WindowsSysHeader.cs
- IgnorePropertiesAttribute.cs
- SapiRecoInterop.cs
- ParseChildrenAsPropertiesAttribute.cs
- Bezier.cs
- FileDataSourceCache.cs
- ClockGroup.cs
- MainMenu.cs
- HierarchicalDataSourceControl.cs
- DataGridViewComboBoxColumn.cs
- ByteAnimationBase.cs
- ScaleTransform3D.cs
- QueryTask.cs
- XmlArrayAttribute.cs
- ApplicationDirectoryMembershipCondition.cs
- ValidationPropertyAttribute.cs
- QuarticEase.cs
- BindingBase.cs
- cookiecollection.cs
- WebServiceFaultDesigner.cs
- TableLayoutSettings.cs
- XmlLanguageConverter.cs
- FileDialog_Vista_Interop.cs
- RegistryKey.cs
- OptimizedTemplateContentHelper.cs
- TouchEventArgs.cs
- EdmValidator.cs
- FollowerQueueCreator.cs
- EntityDataSourceValidationException.cs
- RelatedImageListAttribute.cs
- SqlNamer.cs
- Int32CAMarshaler.cs
- SerialPort.cs
- PointCollectionConverter.cs
- Code.cs
- X509Certificate2Collection.cs
- SchemaType.cs
- SizeConverter.cs
- FileUtil.cs
- ObjectStateManager.cs
- VerificationAttribute.cs
- XmlUtf8RawTextWriter.cs
- ConstructorArgumentAttribute.cs
- TreeIterator.cs
- XmlSchemaAppInfo.cs
- TreeView.cs
- SqlDataReader.cs
- SecurityAlgorithmSuite.cs
- XmlNodeReader.cs
- CollectionViewSource.cs
- ObjectMemberMapping.cs
- AvTrace.cs
- ChannelAcceptor.cs
- DataControlPagerLinkButton.cs
- EntryWrittenEventArgs.cs
- SupportingTokenParameters.cs
- DocumentGridPage.cs
- MeshGeometry3D.cs
- SelectionRange.cs
- TimelineClockCollection.cs
- ValueTable.cs
- ConfigXmlWhitespace.cs
- HttpDictionary.cs
- Scheduler.cs
- ToolStripActionList.cs
- AnnotationMap.cs
- Vector3DCollectionValueSerializer.cs
- FontFamilyConverter.cs
- HMACSHA512.cs
- GPRECTF.cs
- WindowsAuthenticationModule.cs
- HandlerFactoryWrapper.cs
- CurrencyManager.cs
- ISessionStateStore.cs
- WorkflowControlClient.cs
- RenderOptions.cs
- TcpStreams.cs
- Vars.cs
- OdbcDataAdapter.cs
- ResolveCriteriaApril2005.cs
- CodeCompileUnit.cs
- XmlElementCollection.cs
- Registry.cs
- XmlSchemaParticle.cs
- Propagator.cs
- RoutedEventHandlerInfo.cs
- OdbcTransaction.cs
- FixedTextContainer.cs