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
- WindowsTreeView.cs
- SessionIDManager.cs
- WebUtil.cs
- SmiContext.cs
- ParallelTimeline.cs
- WeakReferenceList.cs
- TrustManagerMoreInformation.cs
- TextPointerBase.cs
- CodeMemberProperty.cs
- EncryptedKey.cs
- ListParagraph.cs
- RoleService.cs
- TimeIntervalCollection.cs
- safex509handles.cs
- EntityViewGenerationAttribute.cs
- ToolBarButtonClickEvent.cs
- NetWebProxyFinder.cs
- TemplateBamlTreeBuilder.cs
- UriScheme.cs
- ComponentEditorForm.cs
- HttpHandlerActionCollection.cs
- TransformGroup.cs
- UDPClient.cs
- PersonalizablePropertyEntry.cs
- UserThread.cs
- EntityDataSourceUtil.cs
- HighlightComponent.cs
- GenericNameHandler.cs
- Attributes.cs
- DataControlPagerLinkButton.cs
- TextRangeSerialization.cs
- WorkflowMarkupSerializationException.cs
- WebColorConverter.cs
- VirtualizingStackPanel.cs
- ActivationArguments.cs
- FormViewInsertedEventArgs.cs
- PostBackTrigger.cs
- BaseAddressPrefixFilterElement.cs
- WebServiceFault.cs
- SymbolType.cs
- XXXInfos.cs
- MarkupCompilePass1.cs
- DataServiceRequest.cs
- HttpListener.cs
- ValuePatternIdentifiers.cs
- SystemTcpStatistics.cs
- CommonXSendMessage.cs
- XmlLanguageConverter.cs
- AsnEncodedData.cs
- DataSourceControlBuilder.cs
- ColumnResizeUndoUnit.cs
- NumberFormatInfo.cs
- RelationshipDetailsRow.cs
- Literal.cs
- EntityPropertyMappingAttribute.cs
- SrgsDocumentParser.cs
- PerCallInstanceContextProvider.cs
- DoubleKeyFrameCollection.cs
- HttpCapabilitiesBase.cs
- SettingsProperty.cs
- WebPartCloseVerb.cs
- SchemaObjectWriter.cs
- DataGridViewColumnStateChangedEventArgs.cs
- PartitionedStream.cs
- controlskin.cs
- TextTreeTextBlock.cs
- BasePropertyDescriptor.cs
- OperandQuery.cs
- ResourceKey.cs
- ModelVisual3D.cs
- ReflectTypeDescriptionProvider.cs
- GlobalItem.cs
- UrlAuthFailedErrorFormatter.cs
- SerializerWriterEventHandlers.cs
- EntityContainerAssociationSetEnd.cs
- WaitForChangedResult.cs
- ApplicationProxyInternal.cs
- DataKeyArray.cs
- Util.cs
- AsyncCompletedEventArgs.cs
- DataGridViewColumnCollectionDialog.cs
- ActionMismatchAddressingException.cs
- HttpGetProtocolReflector.cs
- ParserStack.cs
- ImageAttributes.cs
- CellConstantDomain.cs
- DesignerHierarchicalDataSourceView.cs
- EntryPointNotFoundException.cs
- SafeThreadHandle.cs
- ViewValidator.cs
- CheckBox.cs
- DataGridViewHitTestInfo.cs
- Table.cs
- EditCommandColumn.cs
- TextRenderer.cs
- Vector3DAnimation.cs
- CompilationPass2Task.cs
- AutomationEventArgs.cs
- CmsInterop.cs
- SchemaSetCompiler.cs