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
- SQLBinaryStorage.cs
- CompilationPass2Task.cs
- InvalidPrinterException.cs
- EdmToObjectNamespaceMap.cs
- FileChangesMonitor.cs
- Convert.cs
- filewebrequest.cs
- EntityDesignerUtils.cs
- RegexRunnerFactory.cs
- RectangleGeometry.cs
- QueryContinueDragEventArgs.cs
- RepeatInfo.cs
- UserNamePasswordValidator.cs
- EncryptedKey.cs
- PrintPreviewGraphics.cs
- BrowserCapabilitiesFactoryBase.cs
- DetailsViewRow.cs
- DbConnectionOptions.cs
- DictionaryManager.cs
- ThicknessAnimationBase.cs
- SystemNetHelpers.cs
- SecurityContext.cs
- FloaterParagraph.cs
- NeutralResourcesLanguageAttribute.cs
- XslNumber.cs
- ConfigurationManager.cs
- SizeConverter.cs
- MetaType.cs
- ReferenceConverter.cs
- KnowledgeBase.cs
- ProtocolsSection.cs
- AssemblyBuilder.cs
- MimeWriter.cs
- XmlNamespaceMapping.cs
- SerializationStore.cs
- DocobjHost.cs
- XmlDeclaration.cs
- CodeStatement.cs
- SystemIPAddressInformation.cs
- ButtonBaseAdapter.cs
- FillErrorEventArgs.cs
- WebPartEditVerb.cs
- XmlChildEnumerator.cs
- DetailsViewUpdateEventArgs.cs
- ColumnTypeConverter.cs
- DeferredReference.cs
- PageContent.cs
- ListControlConvertEventArgs.cs
- TabRenderer.cs
- AlternateViewCollection.cs
- IgnorePropertiesAttribute.cs
- TraceRecords.cs
- x509store.cs
- ModuleConfigurationInfo.cs
- DataService.cs
- BinaryReader.cs
- Binding.cs
- ServiceBusyException.cs
- NavigationWindowAutomationPeer.cs
- NativeMethods.cs
- WindowsGraphicsCacheManager.cs
- ClientScriptManager.cs
- PropertyTab.cs
- TransactionValidationBehavior.cs
- FixedSOMContainer.cs
- TransformedBitmap.cs
- GridViewRowCollection.cs
- DataServiceConfiguration.cs
- FormsAuthenticationUser.cs
- CompositeScriptReferenceEventArgs.cs
- XmlCharacterData.cs
- StateRuntime.cs
- SelectionEditingBehavior.cs
- Message.cs
- BindingNavigator.cs
- HttpClientChannel.cs
- FunctionMappingTranslator.cs
- KnownAssembliesSet.cs
- QueryableFilterRepeater.cs
- CompiledScopeCriteria.cs
- LinqDataSourceView.cs
- exports.cs
- IMembershipProvider.cs
- Mapping.cs
- InstallerTypeAttribute.cs
- WindowsTitleBar.cs
- ToolConsole.cs
- ResourceExpression.cs
- XmlSchemaExternal.cs
- DataBindingHandlerAttribute.cs
- ExpandableObjectConverter.cs
- UnknownBitmapEncoder.cs
- DataRecordInternal.cs
- xml.cs
- UpdatePanel.cs
- SpeechEvent.cs
- HMACSHA512.cs
- ConfigurationConverterBase.cs
- HttpServerVarsCollection.cs
- BooleanAnimationBase.cs