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
- TextServicesPropertyRanges.cs
- ImportContext.cs
- FutureFactory.cs
- OperandQuery.cs
- GestureRecognizer.cs
- RelatedEnd.cs
- TemplateContent.cs
- HeaderUtility.cs
- BinaryWriter.cs
- PolyLineSegmentFigureLogic.cs
- ConnectionManager.cs
- WebPartVerb.cs
- ToolStripItemCollection.cs
- RightsManagementEncryptedStream.cs
- SHA384.cs
- _SSPISessionCache.cs
- ellipse.cs
- SqlGatherConsumedAliases.cs
- DataGridViewButtonColumn.cs
- PEFileReader.cs
- StreamReader.cs
- CryptographicAttribute.cs
- SqlConnection.cs
- PasswordDeriveBytes.cs
- FtpWebResponse.cs
- Figure.cs
- MetadataSource.cs
- KeyedHashAlgorithm.cs
- SafeTimerHandle.cs
- OutputCacheProfile.cs
- TransformerTypeCollection.cs
- IndentedWriter.cs
- Span.cs
- StickyNoteHelper.cs
- PrivilegeNotHeldException.cs
- XmlNotation.cs
- EmptyStringExpandableObjectConverter.cs
- RawStylusInputCustomData.cs
- TextParagraphProperties.cs
- XmlAnyAttributeAttribute.cs
- Funcletizer.cs
- DataBoundControlAdapter.cs
- ValueTypeFixupInfo.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- PrintDialogException.cs
- DynamicField.cs
- AssemblyContextControlItem.cs
- URLIdentityPermission.cs
- WindowsIdentity.cs
- WebBrowserDocumentCompletedEventHandler.cs
- RegexFCD.cs
- NullRuntimeConfig.cs
- ModifyActivitiesPropertyDescriptor.cs
- MailDefinition.cs
- XmlSerializerFaultFormatter.cs
- CheckedListBox.cs
- WS2007HttpBinding.cs
- XamlFigureLengthSerializer.cs
- DefaultBinder.cs
- XmlDataSource.cs
- SQLUtility.cs
- DBSchemaRow.cs
- HttpModulesSection.cs
- Privilege.cs
- PathFigureCollection.cs
- WithParamAction.cs
- ScrollPatternIdentifiers.cs
- ScrollBarRenderer.cs
- NodeLabelEditEvent.cs
- SrgsRulesCollection.cs
- ConstrainedDataObject.cs
- SecurityContextTokenCache.cs
- FrameworkContentElement.cs
- ProjectionPath.cs
- HandleCollector.cs
- DefaultValueAttribute.cs
- TabItemAutomationPeer.cs
- DynamicDiscoveryDocument.cs
- SynchronousReceiveElement.cs
- TraceContext.cs
- ListControl.cs
- ResourceDescriptionAttribute.cs
- ViewPort3D.cs
- DelayedRegex.cs
- BaseCollection.cs
- XamlReader.cs
- InvokeCompletedEventArgs.cs
- ControlAdapter.cs
- PersonalizableTypeEntry.cs
- _PooledStream.cs
- MetadataCache.cs
- HistoryEventArgs.cs
- CheckPair.cs
- itemelement.cs
- UICuesEvent.cs
- ExtenderControl.cs
- XmlElementList.cs
- PageThemeParser.cs
- HostingEnvironmentException.cs
- AssemblyAttributesGoHere.cs