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
- TreeView.cs
- TextElementEnumerator.cs
- AssemblyCache.cs
- SessionEndingCancelEventArgs.cs
- FeatureAttribute.cs
- XmlBoundElement.cs
- TextAnchor.cs
- DataObjectPastingEventArgs.cs
- DNS.cs
- MulticastIPAddressInformationCollection.cs
- GenericTextProperties.cs
- EllipticalNodeOperations.cs
- Int32.cs
- PreviewPageInfo.cs
- WebPartZoneBase.cs
- WebPartHelpVerb.cs
- MultipartIdentifier.cs
- StorageEndPropertyMapping.cs
- CheckBoxAutomationPeer.cs
- XmlDataDocument.cs
- RowToParametersTransformer.cs
- CompositeControl.cs
- GetPageNumberCompletedEventArgs.cs
- EmbossBitmapEffect.cs
- JpegBitmapEncoder.cs
- DotAtomReader.cs
- DocumentOrderComparer.cs
- TcpTransportSecurityElement.cs
- MtomMessageEncodingElement.cs
- CodeVariableDeclarationStatement.cs
- ResourceExpressionEditor.cs
- XmlQueryStaticData.cs
- Selector.cs
- Base64Decoder.cs
- PartialArray.cs
- XslException.cs
- WindowsEditBoxRange.cs
- ConfigXmlDocument.cs
- CompoundFileIOPermission.cs
- AsyncPostBackErrorEventArgs.cs
- RestClientProxyHandler.cs
- CompilerError.cs
- ImageConverter.cs
- WebPartConnectionCollection.cs
- SecurityRuntime.cs
- FontDifferentiator.cs
- SynchronizationLockException.cs
- CellParaClient.cs
- ActivityCodeDomReferenceService.cs
- InstanceDescriptor.cs
- SelectionPattern.cs
- TCPClient.cs
- GenericEnumConverter.cs
- PerformanceCounterLib.cs
- AddInStore.cs
- NamespaceCollection.cs
- BitmapData.cs
- UriSection.cs
- ResourceReader.cs
- TextServicesDisplayAttributePropertyRanges.cs
- CompressionTransform.cs
- ZipIORawDataFileBlock.cs
- HttpResponse.cs
- OneWayBindingElementImporter.cs
- AppDomainProtocolHandler.cs
- Application.cs
- DatatypeImplementation.cs
- ArrayListCollectionBase.cs
- KeyTime.cs
- CollectionTraceRecord.cs
- DelayDesigner.cs
- PackageDigitalSignatureManager.cs
- WriteStateInfoBase.cs
- InfoCardHelper.cs
- SystemNetHelpers.cs
- DecimalAnimation.cs
- TransformPattern.cs
- EventSinkHelperWriter.cs
- InputScopeConverter.cs
- ItemsPanelTemplate.cs
- TextDecoration.cs
- CharConverter.cs
- DataGridTextBoxColumn.cs
- IconConverter.cs
- BigIntegerStorage.cs
- UIElementParagraph.cs
- X509ServiceCertificateAuthentication.cs
- ValidationError.cs
- AssemblyEvidenceFactory.cs
- NoResizeHandleGlyph.cs
- PageContent.cs
- GridViewDeletedEventArgs.cs
- TypeValidationEventArgs.cs
- EnumValAlphaComparer.cs
- ValueChangedEventManager.cs
- DragDeltaEventArgs.cs
- HierarchicalDataTemplate.cs
- Exception.cs
- TypeInfo.cs
- HttpModuleAction.cs