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
- TransformedBitmap.cs
- DBDataPermissionAttribute.cs
- InvokeCompletedEventArgs.cs
- StrokeFIndices.cs
- COM2ExtendedBrowsingHandler.cs
- XslAst.cs
- DynamicUpdateCommand.cs
- OwnerDrawPropertyBag.cs
- DataGridTable.cs
- TypeHelpers.cs
- XPathEmptyIterator.cs
- OrderByExpression.cs
- SafeNativeMethods.cs
- AppDomainAttributes.cs
- IntegerValidatorAttribute.cs
- DrawListViewColumnHeaderEventArgs.cs
- XmlWrappingReader.cs
- DataContract.cs
- MemberJoinTreeNode.cs
- SafeEventLogWriteHandle.cs
- AvTrace.cs
- BindingSourceDesigner.cs
- GZipUtils.cs
- TextBoxRenderer.cs
- RegexCharClass.cs
- XmlSchemaChoice.cs
- WebPartAddingEventArgs.cs
- HttpModule.cs
- ReceiveActivity.cs
- TypeDescriptor.cs
- BindingExpressionUncommonField.cs
- MaskedTextProvider.cs
- SqlRowUpdatingEvent.cs
- AttributeEmitter.cs
- DBConnection.cs
- StructuredTypeEmitter.cs
- TempFiles.cs
- RepeaterItem.cs
- TreeView.cs
- ExternalException.cs
- DataGridHeaderBorder.cs
- CloseSequence.cs
- Resources.Designer.cs
- XmlSchemaComplexType.cs
- MenuItemAutomationPeer.cs
- PngBitmapEncoder.cs
- DSASignatureDeformatter.cs
- NumericExpr.cs
- ContainerUIElement3D.cs
- WebReferencesBuildProvider.cs
- TextDecorationCollection.cs
- SizeAnimationUsingKeyFrames.cs
- CachedCompositeFamily.cs
- FileSecurity.cs
- SiteMapDataSource.cs
- AmbiguousMatchException.cs
- Cursors.cs
- DebugController.cs
- RsaKeyIdentifierClause.cs
- ADMembershipProvider.cs
- ProcessProtocolHandler.cs
- CodeDomDecompiler.cs
- IntellisenseTextBox.designer.cs
- LocalClientSecuritySettingsElement.cs
- StyleTypedPropertyAttribute.cs
- HttpBufferlessInputStream.cs
- EditBehavior.cs
- PermissionAttributes.cs
- HScrollBar.cs
- ObjectTag.cs
- RegistryKey.cs
- ExpressionTable.cs
- Listener.cs
- AddInStore.cs
- Vector3DAnimationBase.cs
- DefaultAssemblyResolver.cs
- XmlIgnoreAttribute.cs
- SqlComparer.cs
- ColumnHeaderConverter.cs
- SecurityElement.cs
- DeploymentSection.cs
- Trace.cs
- DataGridHeaderBorder.cs
- Context.cs
- UICuesEvent.cs
- ConditionCollection.cs
- CfgArc.cs
- DataTableReaderListener.cs
- UserThread.cs
- TemplateXamlParser.cs
- BuildManager.cs
- TableRow.cs
- HttpApplicationFactory.cs
- TableItemPattern.cs
- ComponentChangedEvent.cs
- PersistenceTypeAttribute.cs
- TaskForm.cs
- AggregateNode.cs
- DesignerView.cs
- ProviderUtil.cs