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
- DesignBindingConverter.cs
- BufferedGraphicsManager.cs
- RangeValueProviderWrapper.cs
- UIElement3DAutomationPeer.cs
- DescendantBaseQuery.cs
- DataServiceKeyAttribute.cs
- X509Certificate.cs
- BamlTreeMap.cs
- XamlBuildTaskServices.cs
- HTMLTextWriter.cs
- Lock.cs
- HttpModuleActionCollection.cs
- CollectionConverter.cs
- TextSimpleMarkerProperties.cs
- WindowsGraphicsCacheManager.cs
- DefinitionBase.cs
- MailMessageEventArgs.cs
- BitmapPalettes.cs
- SqlFacetAttribute.cs
- Debugger.cs
- ProvideValueServiceProvider.cs
- CommandBinding.cs
- ListItemCollection.cs
- ValidationErrorCollection.cs
- StreamingContext.cs
- ColumnHeader.cs
- SQLInt32.cs
- FilterException.cs
- InternalSafeNativeMethods.cs
- X509Chain.cs
- ApplicationFileCodeDomTreeGenerator.cs
- DependencyProperty.cs
- RequestNavigateEventArgs.cs
- MailWebEventProvider.cs
- PreProcessor.cs
- UnicastIPAddressInformationCollection.cs
- ParserStreamGeometryContext.cs
- Vector3DCollection.cs
- TypeReference.cs
- ColumnMapCopier.cs
- DropShadowBitmapEffect.cs
- FormViewRow.cs
- Helper.cs
- BufferModesCollection.cs
- ConfigurationLockCollection.cs
- ComponentResourceKeyConverter.cs
- SolidBrush.cs
- Timer.cs
- AncillaryOps.cs
- RepeaterCommandEventArgs.cs
- DataBoundControlAdapter.cs
- GlyphTypeface.cs
- RoleBoolean.cs
- OuterGlowBitmapEffect.cs
- Message.cs
- MemberListBinding.cs
- Int32Converter.cs
- DateTimeFormat.cs
- AdPostCacheSubstitution.cs
- COM2ExtendedUITypeEditor.cs
- MetadataSource.cs
- WeakHashtable.cs
- StateManager.cs
- BackgroundWorker.cs
- SelfIssuedSamlTokenFactory.cs
- SecurityUtils.cs
- DesignerSerializerAttribute.cs
- MethodResolver.cs
- InputMethodStateTypeInfo.cs
- ValidatorCompatibilityHelper.cs
- SerTrace.cs
- TemplateKeyConverter.cs
- XMLUtil.cs
- SynchronizingStream.cs
- ColumnPropertiesGroup.cs
- IsolatedStorage.cs
- MatrixTransform3D.cs
- SHA256.cs
- ScrollableControl.cs
- UnmanagedBitmapWrapper.cs
- RTTrackingProfile.cs
- InheritanceRules.cs
- PageOutputQuality.cs
- DataGridViewTextBoxEditingControl.cs
- HttpModuleActionCollection.cs
- SourceSwitch.cs
- BooleanKeyFrameCollection.cs
- CallbackDebugBehavior.cs
- ToolBarButtonClickEvent.cs
- BamlReader.cs
- MessageVersion.cs
- _NetRes.cs
- DomainLiteralReader.cs
- CngAlgorithmGroup.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- ValidationErrorEventArgs.cs
- TextRunProperties.cs
- PerformanceCounter.cs
- ContainerAction.cs
- CommandID.cs