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
- ReliableReplySessionChannel.cs
- RuleRefElement.cs
- TextLineResult.cs
- SafeSecurityHandles.cs
- CFGGrammar.cs
- Point3DAnimationBase.cs
- XPathNodeList.cs
- XmlILModule.cs
- PropertyRecord.cs
- StoreItemCollection.Loader.cs
- InvalidComObjectException.cs
- SystemTcpStatistics.cs
- WindowsGraphicsCacheManager.cs
- ProfileGroupSettingsCollection.cs
- HostedHttpContext.cs
- ExpressionVisitor.cs
- Queue.cs
- CodeDelegateCreateExpression.cs
- AsymmetricSignatureDeformatter.cs
- DataGridViewSortCompareEventArgs.cs
- ConfigurationLocation.cs
- UpdateEventArgs.cs
- DefinitionProperties.cs
- ScrollableControl.cs
- EntitySet.cs
- RegexBoyerMoore.cs
- BufferModesCollection.cs
- PropertyIDSet.cs
- Propagator.cs
- WebSysDescriptionAttribute.cs
- WebPartMovingEventArgs.cs
- XmlTypeAttribute.cs
- UrlAuthorizationModule.cs
- Rect3D.cs
- PointAnimationUsingKeyFrames.cs
- XmlAtomicValue.cs
- ListSourceHelper.cs
- Trace.cs
- AssertFilter.cs
- MetadataReference.cs
- DataServiceProcessingPipelineEventArgs.cs
- ParentUndoUnit.cs
- hebrewshape.cs
- WebResourceUtil.cs
- HelpInfo.cs
- ControlParameter.cs
- HtmlInputSubmit.cs
- RegularExpressionValidator.cs
- Bold.cs
- ResourcePart.cs
- DelegateBodyWriter.cs
- InvokePattern.cs
- InlineObject.cs
- FileDialog.cs
- BindingsCollection.cs
- StrongBox.cs
- IssuerInformation.cs
- EarlyBoundInfo.cs
- DesignerFrame.cs
- ContentPathSegment.cs
- TextBounds.cs
- XmlCharacterData.cs
- AdapterDictionary.cs
- ProjectionCamera.cs
- TextFormatterImp.cs
- ToolboxItemCollection.cs
- DoubleUtil.cs
- SlotInfo.cs
- XmlConvert.cs
- ForeignConstraint.cs
- WorkflowTraceTransfer.cs
- PeerPresenceInfo.cs
- HtmlTableRowCollection.cs
- KerberosRequestorSecurityToken.cs
- SoapSchemaMember.cs
- filewebrequest.cs
- ServiceOperationParameter.cs
- LeaseManager.cs
- SqlDataReader.cs
- WebPart.cs
- TypeToken.cs
- SkinBuilder.cs
- WorkflowCommandExtensionItem.cs
- DataSourceExpressionCollection.cs
- LinkConverter.cs
- IBuiltInEvidence.cs
- LinqDataSourceInsertEventArgs.cs
- TextRange.cs
- Helper.cs
- Model3DGroup.cs
- ListViewInsertionMark.cs
- versioninfo.cs
- SizeConverter.cs
- _FtpControlStream.cs
- MailWriter.cs
- ResourceDictionaryCollection.cs
- XmlSchemaChoice.cs
- MembershipSection.cs
- ValidatorCollection.cs
- HuffCodec.cs