Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / NoResizeSelectionBorderGlyph.cs / 1 / NoResizeSelectionBorderGlyph.cs
namespace System.Windows.Forms.Design.Behavior { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Design; using System.Diagnostics; using System.Drawing; using System.Windows.Forms.Design; ////// /// The NoResizeSelectionBorderGlyph draws one side (depending on type) of a SelectionBorder. /// internal class NoResizeSelectionBorderGlyph : SelectionGlyphBase { ////// /// This constructor extends from the standard SelectionGlyphBase constructor. /// internal NoResizeSelectionBorderGlyph(Rectangle controlBounds, SelectionRules rules, SelectionBorderGlyphType type, Behavior behavior) : base(behavior) { InitializeGlyph(controlBounds, rules, type); } ////// Helper function that initializes the Glyph based on bounds, type, and bordersize. /// private void InitializeGlyph(Rectangle controlBounds, SelectionRules selRules, SelectionBorderGlyphType type) { rules = SelectionRules.None; hitTestCursor = Cursors.Default; if ((selRules & SelectionRules.Moveable) != 0) { rules = SelectionRules.Moveable; hitTestCursor = Cursors.SizeAll; } //this will return the rect representing the bounds of the glyph bounds = DesignerUtils.GetBoundsForNoResizeSelectionType(controlBounds, type); hitBounds = bounds; // The hitbounds for the border is actually a bit bigger than the glyph bounds switch (type) { case SelectionBorderGlyphType.Top: goto case SelectionBorderGlyphType.Bottom; case SelectionBorderGlyphType.Bottom: // We want to apply the SELECTIONBORDERHITAREA to the top and the bottom of the selection border glyph hitBounds.Y -= (DesignerUtils.SELECTIONBORDERHITAREA - DesignerUtils.SELECTIONBORDERSIZE) / 2; hitBounds.Height += DesignerUtils.SELECTIONBORDERHITAREA - DesignerUtils.SELECTIONBORDERSIZE; break; case SelectionBorderGlyphType.Left: goto case SelectionBorderGlyphType.Right; case SelectionBorderGlyphType.Right: // We want to apply the SELECTIONBORDERHITAREA to the left and the right of the selection border glyph hitBounds.X -= (DesignerUtils.SELECTIONBORDERHITAREA - DesignerUtils.SELECTIONBORDERSIZE) / 2; hitBounds.Width += DesignerUtils.SELECTIONBORDERHITAREA - DesignerUtils.SELECTIONBORDERSIZE; break; } } ////// /// Simple painting logic for selection Glyphs. /// public override void Paint(PaintEventArgs pe) { DesignerUtils.DrawSelectionBorder(pe.Graphics, bounds); } } } // 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
- RegionIterator.cs
- cache.cs
- _AutoWebProxyScriptEngine.cs
- StrokeSerializer.cs
- MimeTypePropertyAttribute.cs
- DrawingImage.cs
- DataSourceXmlElementAttribute.cs
- GPPOINT.cs
- RegexWorker.cs
- Italic.cs
- WorkflowDefinitionDispenser.cs
- InkPresenter.cs
- TypeProvider.cs
- XmlSerializationWriter.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- EventMappingSettings.cs
- SQLDecimal.cs
- AssemblyUtil.cs
- DbInsertCommandTree.cs
- CodeBinaryOperatorExpression.cs
- CompletionCallbackWrapper.cs
- ParameterElementCollection.cs
- AnnouncementEndpoint.cs
- CodeStatementCollection.cs
- HttpServerVarsCollection.cs
- LoginView.cs
- DataGridColumn.cs
- JsonXmlDataContract.cs
- SaveCardRequest.cs
- X509ChainPolicy.cs
- SqlConnectionPoolProviderInfo.cs
- ProfileGroupSettingsCollection.cs
- Calendar.cs
- XmlNavigatorFilter.cs
- ListViewUpdateEventArgs.cs
- ContainerSelectorBehavior.cs
- XmlTextEncoder.cs
- AlphabeticalEnumConverter.cs
- validationstate.cs
- TimeSpanOrInfiniteValidator.cs
- DbDataReader.cs
- SqlBooleanizer.cs
- MobileCapabilities.cs
- SchemaElementDecl.cs
- PackagePart.cs
- LayoutEditorPart.cs
- PageAsyncTaskManager.cs
- XmlValidatingReader.cs
- MenuCommands.cs
- XmlSchemaSequence.cs
- SecurityRequiresReviewAttribute.cs
- CodeAccessSecurityEngine.cs
- PointAnimation.cs
- WebServiceResponse.cs
- FixedNode.cs
- SelectionProcessor.cs
- ActivityExecutorDelegateInfo.cs
- HttpCapabilitiesBase.cs
- AdPostCacheSubstitution.cs
- PLINQETWProvider.cs
- Accessible.cs
- ProcessDesigner.cs
- MethodImplAttribute.cs
- AsyncResult.cs
- TextRangeBase.cs
- MessageBox.cs
- DbConnectionPoolOptions.cs
- RotateTransform3D.cs
- SingleAnimationBase.cs
- CollectionViewProxy.cs
- TableLayoutRowStyleCollection.cs
- HttpHandlerActionCollection.cs
- DefaultAsyncDataDispatcher.cs
- DragSelectionMessageFilter.cs
- SimpleLine.cs
- DataControlReferenceCollection.cs
- InvalidFilterCriteriaException.cs
- PathParser.cs
- XmlSchemaComplexContentExtension.cs
- HtmlButton.cs
- RsaSecurityToken.cs
- StateBag.cs
- CodePropertyReferenceExpression.cs
- SecurityTokenReferenceStyle.cs
- SQLInt16Storage.cs
- DateTimeOffsetConverter.cs
- DataGridCommandEventArgs.cs
- UnsafeNativeMethods.cs
- GraphicsContainer.cs
- DesignerSerializationManager.cs
- EventListener.cs
- ViewStateModeByIdAttribute.cs
- WizardPanel.cs
- cookieexception.cs
- TextDecorationCollectionConverter.cs
- _NtlmClient.cs
- ScriptControlDescriptor.cs
- CreateParams.cs
- XmlNodeChangedEventArgs.cs
- ReferenceList.cs