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
- CellConstant.cs
- SqlXmlStorage.cs
- VerificationAttribute.cs
- TypedTableBaseExtensions.cs
- CategoryGridEntry.cs
- BypassElement.cs
- ErrorStyle.cs
- StateBag.cs
- WeakEventTable.cs
- Int32KeyFrameCollection.cs
- XmlSerializationWriter.cs
- ZeroOpNode.cs
- ManualResetEventSlim.cs
- TransportBindingElementImporter.cs
- _ListenerAsyncResult.cs
- CTreeGenerator.cs
- TcpProcessProtocolHandler.cs
- WmlTextBoxAdapter.cs
- AssertSection.cs
- DiscreteKeyFrames.cs
- DataGridViewColumnHeaderCell.cs
- MouseEventArgs.cs
- TreeViewItem.cs
- TrackingMemoryStreamFactory.cs
- XmlRawWriterWrapper.cs
- FontEmbeddingManager.cs
- HttpResponse.cs
- BidPrivateBase.cs
- Process.cs
- PermissionSet.cs
- CharUnicodeInfo.cs
- _SafeNetHandles.cs
- IInstanceTable.cs
- UserPreferenceChangedEventArgs.cs
- ObjectSpanRewriter.cs
- EncoderParameters.cs
- RegexCode.cs
- handlecollector.cs
- ExtendedPropertyCollection.cs
- Soap12ServerProtocol.cs
- httpapplicationstate.cs
- DesignerDataTable.cs
- SimpleWorkerRequest.cs
- DataMemberConverter.cs
- SqlFileStream.cs
- EventMemberCodeDomSerializer.cs
- ObjectDataSourceView.cs
- MultiPageTextView.cs
- CngProvider.cs
- CodeCommentStatement.cs
- RuntimeWrappedException.cs
- RemoteCryptoTokenProvider.cs
- DbConnectionOptions.cs
- XmlEntity.cs
- DesignerSelectionListAdapter.cs
- DataTableTypeConverter.cs
- SqlBooleanMismatchVisitor.cs
- SecurityTokenProvider.cs
- GridViewColumn.cs
- XMLSchema.cs
- CompositeKey.cs
- TimeoutTimer.cs
- DataServiceQueryProvider.cs
- ListViewHitTestInfo.cs
- EventRouteFactory.cs
- WSHttpTransportSecurityElement.cs
- DockingAttribute.cs
- Model3D.cs
- ExceptionValidationRule.cs
- ServiceModelEnumValidator.cs
- WebPartMinimizeVerb.cs
- BounceEase.cs
- IdentityManager.cs
- ObjectParameter.cs
- DeclaredTypeValidatorAttribute.cs
- ControlAdapter.cs
- WinFormsComponentEditor.cs
- TraceSection.cs
- Environment.cs
- NamespaceInfo.cs
- Camera.cs
- CheckBoxDesigner.cs
- ToolStripSplitStackLayout.cs
- ReflectTypeDescriptionProvider.cs
- GridViewDeletedEventArgs.cs
- EditorPartCollection.cs
- ConstraintCollection.cs
- EpmContentDeSerializerBase.cs
- MailAddressParser.cs
- Stacktrace.cs
- SqlCrossApplyToCrossJoin.cs
- FilterElement.cs
- SurrogateChar.cs
- Tile.cs
- contentDescriptor.cs
- HMACMD5.cs
- MultiDataTrigger.cs
- DynamicEntity.cs
- BatchWriter.cs
- RemotingAttributes.cs