Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / TableLayoutPanelResizeGlyph.cs / 1 / TableLayoutPanelResizeGlyph.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.Drawing.Drawing2D;
using System.Windows.Forms.Design;
///
///
/// This glyph is associated with every row/column line rendered by the TableLayouPanelDesigner.
// Each glyph simply tracks the bounds, type (row or column), and row/col style that it is associated
// with. All glyphs on a TableLayoutPanelDesigner share one instance of the TableLayoutPanelBehavior.
///
internal class TableLayoutPanelResizeGlyph : Glyph {
private Rectangle bounds;//bounds of the column/row line
private Cursor hitTestCursor;//cursor used for hittesting - vsplit/hsplit
private TableLayoutStyle style;//the style (row or column) associated
private TableLayoutResizeType type;//the "Type" used by the Behavior for resizing
///
///
/// This constructor caches our necessary state and determine what 'type'
/// it is.
///
internal TableLayoutPanelResizeGlyph (Rectangle controlBounds, TableLayoutStyle style, Cursor hitTestCursor, Behavior behavior) : base(behavior) {
this.bounds = controlBounds;
this.hitTestCursor = hitTestCursor;
this.style = style;
if (style is ColumnStyle) {
type = TableLayoutResizeType.Column;
}
else {
type = TableLayoutResizeType.Row;
}
}
///
///
/// Represents the bounds of the row or column line being rendered
/// by the TableLayoutPanelDesigner.
///
public override Rectangle Bounds {
get {
return bounds;
}
}
///
///
/// Represents the Style associated with this glyph: Row or Column.
/// This is used by the behaviors resize methods to set the values.
///
public TableLayoutStyle Style {
get {
return style;
}
}
///
///
/// Used as quick check by our behavior when dragging/resizing.
///
public TableLayoutResizeType Type {
get {
return type;
}
}
///
///
/// Simply returns the proper cursor if the mouse pointer is within
/// our cached boudns.
///
public override Cursor GetHitTest(Point p) {
if (bounds.Contains(p)) {
return hitTestCursor;
}
return null;
}
///
///
/// No painting necessary - this glyph is more of a 'hot spot'
///
public override void Paint(PaintEventArgs pe) {
}
///
///
/// Internal Enum defining the two different types of glyphs a TableLayoutPanel
/// can have: column or row.
///
public enum TableLayoutResizeType {
Column,
Row
}
}
}
// 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
- SqlBulkCopyColumnMapping.cs
- DataDesignUtil.cs
- SecurityElement.cs
- ReaderOutput.cs
- ValidatedControlConverter.cs
- BinHexEncoding.cs
- HelpHtmlBuilder.cs
- TraceSection.cs
- TypeTypeConverter.cs
- ConnectionStringsExpressionEditor.cs
- OdbcErrorCollection.cs
- COM2PropertyDescriptor.cs
- SingleAnimation.cs
- oledbmetadatacolumnnames.cs
- RectAnimationBase.cs
- HttpStaticObjectsCollectionWrapper.cs
- WeakReference.cs
- _FtpControlStream.cs
- PasswordDeriveBytes.cs
- FragmentQueryKB.cs
- IResourceProvider.cs
- BitVec.cs
- StreamInfo.cs
- JournalEntry.cs
- RectConverter.cs
- PageEventArgs.cs
- ApplicationFileParser.cs
- SQLSingleStorage.cs
- ImageBrush.cs
- Material.cs
- MultiPartWriter.cs
- Int32RectValueSerializer.cs
- WebPartConnectionCollection.cs
- DescendantQuery.cs
- SamlNameIdentifierClaimResource.cs
- XPathException.cs
- DecoderReplacementFallback.cs
- TimeEnumHelper.cs
- ImageMapEventArgs.cs
- EditorAttribute.cs
- SemanticKeyElement.cs
- KeyedHashAlgorithm.cs
- EventTrigger.cs
- URIFormatException.cs
- ResourceCategoryAttribute.cs
- ContractInstanceProvider.cs
- TextParagraph.cs
- ScriptHandlerFactory.cs
- PaperSource.cs
- GeometryCombineModeValidation.cs
- TextDecoration.cs
- CodeAttributeDeclarationCollection.cs
- StatusBarAutomationPeer.cs
- TagPrefixCollection.cs
- CommonObjectSecurity.cs
- ListItemViewAttribute.cs
- Pair.cs
- SingletonChannelAcceptor.cs
- hresults.cs
- DataServiceExpressionVisitor.cs
- QuaternionValueSerializer.cs
- SoapExtension.cs
- Panel.cs
- WindowsStatic.cs
- ListViewItem.cs
- PolicyException.cs
- HatchBrush.cs
- SizeChangedInfo.cs
- WsatAdminException.cs
- WebPartConnectionsConfigureVerb.cs
- ValuePattern.cs
- MailAddressCollection.cs
- SpeechDetectedEventArgs.cs
- ProcessHost.cs
- GlobalItem.cs
- ListBoxChrome.cs
- ParsedRoute.cs
- ThemeableAttribute.cs
- NumberSubstitution.cs
- TypedTableBaseExtensions.cs
- WindowsRebar.cs
- GroupBoxRenderer.cs
- XPathSelectionIterator.cs
- TextBlock.cs
- WsdlHelpGeneratorElement.cs
- RouteParameter.cs
- HtmlTableCellCollection.cs
- UIElementParaClient.cs
- RuleSetDialog.Designer.cs
- DayRenderEvent.cs
- PaperSize.cs
- SystemResourceHost.cs
- StructuredTypeEmitter.cs
- WebPartDisplayModeCancelEventArgs.cs
- Exceptions.cs
- StorageScalarPropertyMapping.cs
- RegisteredArrayDeclaration.cs
- StringPropertyBuilder.cs
- DefaultHttpHandler.cs
- ToolboxBitmapAttribute.cs