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
- OperationSelectorBehavior.cs
- AttributeProviderAttribute.cs
- ComplexPropertyEntry.cs
- Command.cs
- Privilege.cs
- TextTreeText.cs
- NativeMethods.cs
- _KerberosClient.cs
- WebPartPersonalization.cs
- Int64Animation.cs
- OdbcDataReader.cs
- EntityContainer.cs
- IRCollection.cs
- RelationshipConverter.cs
- DebugManager.cs
- ExceptionHandler.cs
- Transactions.cs
- RecoverInstanceLocksCommand.cs
- DataColumnMappingCollection.cs
- ColumnCollection.cs
- BamlTreeNode.cs
- TargetException.cs
- PresentationTraceSources.cs
- Logging.cs
- SystemInformation.cs
- LineVisual.cs
- PropertyKey.cs
- StartUpEventArgs.cs
- InternalsVisibleToAttribute.cs
- PerspectiveCamera.cs
- SmtpCommands.cs
- MessageEnumerator.cs
- CellPartitioner.cs
- WebPartCatalogAddVerb.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- TableItemStyle.cs
- SessionStateItemCollection.cs
- SmtpException.cs
- SpeechRecognizer.cs
- HTMLTagNameToTypeMapper.cs
- clipboard.cs
- CompilerTypeWithParams.cs
- Types.cs
- Int64Converter.cs
- GenerateScriptTypeAttribute.cs
- StringReader.cs
- Compiler.cs
- DiscreteKeyFrames.cs
- WebServiceClientProxyGenerator.cs
- XsltLoader.cs
- Formatter.cs
- QilGeneratorEnv.cs
- ItemContainerGenerator.cs
- EventDrivenDesigner.cs
- FocusManager.cs
- RegexCode.cs
- Keywords.cs
- SqlCommandBuilder.cs
- MultiBinding.cs
- OperationAbortedException.cs
- SupportingTokenDuplexChannel.cs
- GroupBox.cs
- PerformanceCounters.cs
- OleDbPermission.cs
- MessageSmuggler.cs
- DataComponentNameHandler.cs
- UriTemplateMatchException.cs
- MediaContext.cs
- BindingListCollectionView.cs
- DataGridCellAutomationPeer.cs
- ValueType.cs
- TemplatePropertyEntry.cs
- WebPartEditorOkVerb.cs
- AppSettingsExpressionEditor.cs
- Monitor.cs
- StringInfo.cs
- BrowserTree.cs
- HandleExceptionArgs.cs
- RuntimeComponentFilter.cs
- SpotLight.cs
- MailHeaderInfo.cs
- FileVersion.cs
- FileSystemEnumerable.cs
- DefaultValueAttribute.cs
- PrintPreviewControl.cs
- TableLayoutSettingsTypeConverter.cs
- TypeContext.cs
- Delay.cs
- EventBuilder.cs
- NetworkCredential.cs
- RuleSetDialog.Designer.cs
- DnsPermission.cs
- ToolStripDropDownClosedEventArgs.cs
- DocumentGrid.cs
- SqlClientFactory.cs
- MetabaseServerConfig.cs
- FactoryGenerator.cs
- AvTraceDetails.cs
- ClientData.cs
- DesignerWidgets.cs