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
- DataGridViewCheckBoxCell.cs
- CompareValidator.cs
- ReadWriteSpinLock.cs
- ProcessModule.cs
- TraceSource.cs
- FileDialogPermission.cs
- SmiTypedGetterSetter.cs
- HttpCookiesSection.cs
- Parameter.cs
- LabelLiteral.cs
- TreeNodeCollection.cs
- DelegatedStream.cs
- SrgsElementFactory.cs
- CmsInterop.cs
- ListBoxItem.cs
- Math.cs
- EmptyEnumerable.cs
- WebPartManagerInternals.cs
- OletxResourceManager.cs
- DBSqlParserColumn.cs
- TextRangeAdaptor.cs
- SafeArrayRankMismatchException.cs
- ItemType.cs
- FormatterServices.cs
- SubtreeProcessor.cs
- TreeNodeSelectionProcessor.cs
- DrawingAttributes.cs
- SqlClientMetaDataCollectionNames.cs
- FileUpload.cs
- StrongNamePublicKeyBlob.cs
- Grid.cs
- MetadataItem.cs
- CustomErrorsSectionWrapper.cs
- PlatformNotSupportedException.cs
- AuthenticationConfig.cs
- Glyph.cs
- ProtocolImporter.cs
- NetCodeGroup.cs
- SystemWebSectionGroup.cs
- ComplexObject.cs
- UInt32Storage.cs
- PlacementWorkspace.cs
- WindowsHyperlink.cs
- MiniModule.cs
- Pts.cs
- CapabilitiesAssignment.cs
- CodeTypeMemberCollection.cs
- XmlDocumentFieldSchema.cs
- NonBatchDirectoryCompiler.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- DataGridViewColumn.cs
- __FastResourceComparer.cs
- XComponentModel.cs
- ACE.cs
- ResizeGrip.cs
- StringComparer.cs
- FormViewDeletedEventArgs.cs
- ArraySortHelper.cs
- SystemFonts.cs
- XmlDataLoader.cs
- Journal.cs
- XamlInt32CollectionSerializer.cs
- XPathSelfQuery.cs
- ServiceTimeoutsElement.cs
- WindowsScrollBarBits.cs
- ControlParameter.cs
- FileAuthorizationModule.cs
- CustomError.cs
- StreamSecurityUpgradeAcceptorAsyncResult.cs
- SrgsGrammarCompiler.cs
- MSAANativeProvider.cs
- PermissionAttributes.cs
- BridgeDataReader.cs
- AssemblySettingAttributes.cs
- WmiEventSink.cs
- DispatcherExceptionEventArgs.cs
- RelatedPropertyManager.cs
- input.cs
- EntityViewContainer.cs
- Shape.cs
- HttpCachePolicyElement.cs
- ObjectRef.cs
- ChangesetResponse.cs
- CancelEventArgs.cs
- ToolStripDropTargetManager.cs
- SystemEvents.cs
- MemberCollection.cs
- FloatUtil.cs
- Comparer.cs
- NullableFloatMinMaxAggregationOperator.cs
- HtmlDocument.cs
- StylusEditingBehavior.cs
- HttpGetProtocolImporter.cs
- MimeXmlImporter.cs
- ListViewSelectEventArgs.cs
- WSSecureConversation.cs
- UnsafeNativeMethods.cs
- XmlAnyElementAttributes.cs
- SatelliteContractVersionAttribute.cs
- XPathChildIterator.cs