Code:
/ DotNET / DotNET / 8.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
- MimeWriter.cs
- TableParagraph.cs
- Exception.cs
- HTMLTextWriter.cs
- BamlResourceContent.cs
- DataGridTable.cs
- BaseComponentEditor.cs
- FirstMatchCodeGroup.cs
- EmbeddedMailObjectCollectionEditor.cs
- SafeHandles.cs
- FacetDescriptionElement.cs
- PinnedBufferMemoryStream.cs
- DesignerMetadata.cs
- IsolatedStorageFileStream.cs
- X509CertificateEndpointIdentity.cs
- ClusterSafeNativeMethods.cs
- safesecurityhelperavalon.cs
- Profiler.cs
- WebPartVerb.cs
- EventOpcode.cs
- HostedTransportConfigurationManager.cs
- UnknownBitmapDecoder.cs
- GetLastErrorDetailsRequest.cs
- PropertyPathWorker.cs
- StylusLogic.cs
- HttpRequestCacheValidator.cs
- StrokeCollection.cs
- InlineUIContainer.cs
- ButtonRenderer.cs
- Tile.cs
- OperationCanceledException.cs
- IisTraceListener.cs
- DataServiceProviderMethods.cs
- ToolTipAutomationPeer.cs
- StringAnimationBase.cs
- EdmItemCollection.cs
- HtmlShim.cs
- MobileControlsSectionHelper.cs
- FixedElement.cs
- DiscoveryMessageSequence.cs
- DBCSCodePageEncoding.cs
- HMACSHA1.cs
- TextFormatterImp.cs
- DefaultDiscoveryServiceExtension.cs
- WebExceptionStatus.cs
- Visitor.cs
- DataSourceHelper.cs
- AttributeCollection.cs
- UIAgentAsyncBeginRequest.cs
- XmlHierarchyData.cs
- XmlILAnnotation.cs
- PathSegment.cs
- HierarchicalDataSourceControl.cs
- ExpressionCopier.cs
- QueryResultOp.cs
- InvalidCommandTreeException.cs
- MeshGeometry3D.cs
- Context.cs
- CollectionChangedEventManager.cs
- Accessible.cs
- OleDbDataReader.cs
- OperationBehaviorAttribute.cs
- ReferentialConstraint.cs
- DataFieldCollectionEditor.cs
- MediaContext.cs
- Cursor.cs
- PlacementWorkspace.cs
- MissingManifestResourceException.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- ADMembershipProvider.cs
- HttpCapabilitiesEvaluator.cs
- SQLConvert.cs
- AdornerPresentationContext.cs
- ContentAlignmentEditor.cs
- TcpChannelFactory.cs
- Baml6ConstructorInfo.cs
- MultiTrigger.cs
- _NegoState.cs
- SmiMetaData.cs
- WebPartDeleteVerb.cs
- URLAttribute.cs
- DbModificationClause.cs
- BamlTreeUpdater.cs
- ModifierKeysConverter.cs
- FontResourceCache.cs
- SendKeys.cs
- _StreamFramer.cs
- LocalizationCodeDomSerializer.cs
- Rect.cs
- ReliableMessagingVersion.cs
- CompilerInfo.cs
- DisplayMemberTemplateSelector.cs
- CodeMemberField.cs
- BlurBitmapEffect.cs
- XmlBinaryReader.cs
- FatalException.cs
- PromptEventArgs.cs
- WindowsScrollBar.cs
- TextEditorParagraphs.cs
- CompoundFileReference.cs