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
- ProfilePropertyMetadata.cs
- DefaultTextStoreTextComposition.cs
- BinaryKeyIdentifierClause.cs
- SafeNativeMethods.cs
- XmlAnyAttributeAttribute.cs
- SharedStatics.cs
- MenuCommand.cs
- RelOps.cs
- ProfileManager.cs
- SerializationSectionGroup.cs
- XmlChoiceIdentifierAttribute.cs
- X509Utils.cs
- COM2TypeInfoProcessor.cs
- StrongNameIdentityPermission.cs
- InputMethodStateChangeEventArgs.cs
- RegexCapture.cs
- PreloadedPackages.cs
- XXXOnTypeBuilderInstantiation.cs
- ContentElementCollection.cs
- XmlSchemaNotation.cs
- QilVisitor.cs
- DataRelationPropertyDescriptor.cs
- DecoderBestFitFallback.cs
- PrimitiveDataContract.cs
- RoleServiceManager.cs
- FontCacheLogic.cs
- BaseAsyncResult.cs
- CodeNamespaceImport.cs
- SqlDataSourceCache.cs
- ArrayWithOffset.cs
- PhonemeConverter.cs
- CompositeFontFamily.cs
- DataRowComparer.cs
- DataRow.cs
- ReferenceSchema.cs
- Cursors.cs
- XXXOnTypeBuilderInstantiation.cs
- ObjectAnimationUsingKeyFrames.cs
- CheckBoxRenderer.cs
- DataColumnMapping.cs
- TypeNameParser.cs
- EventSetter.cs
- SafeNativeMethods.cs
- CodeIdentifier.cs
- WebCategoryAttribute.cs
- NoPersistHandle.cs
- EdmValidator.cs
- CacheMemory.cs
- ToolboxItem.cs
- CssStyleCollection.cs
- ColumnBinding.cs
- RegexReplacement.cs
- InkPresenterAutomationPeer.cs
- RegistryExceptionHelper.cs
- XPathScanner.cs
- ParseHttpDate.cs
- DispatcherOperation.cs
- CorrelationActionMessageFilter.cs
- DateRangeEvent.cs
- XPathPatternParser.cs
- AssemblyName.cs
- ItemCheckEvent.cs
- GPStream.cs
- DependencyObjectType.cs
- ProxySimple.cs
- UnknownWrapper.cs
- JsonWriter.cs
- Sql8ExpressionRewriter.cs
- serverconfig.cs
- ErrorProvider.cs
- TlsnegoTokenAuthenticator.cs
- Translator.cs
- DynamicPropertyReader.cs
- SqlBulkCopy.cs
- PrivilegedConfigurationManager.cs
- StylusOverProperty.cs
- FigureHelper.cs
- OdbcCommand.cs
- ValidatingPropertiesEventArgs.cs
- ExecutionEngineException.cs
- UnderstoodHeaders.cs
- GestureRecognizer.cs
- PriorityBinding.cs
- ChangeInterceptorAttribute.cs
- WebServiceMethodData.cs
- HostVisual.cs
- SystemResourceHost.cs
- PipelineDeploymentState.cs
- EntityDataSourceStatementEditorForm.cs
- DaylightTime.cs
- PersonalizationProviderCollection.cs
- MaskInputRejectedEventArgs.cs
- XmlBufferReader.cs
- SmtpReplyReaderFactory.cs
- CultureMapper.cs
- GenericTypeParameterBuilder.cs
- HatchBrush.cs
- ChangeProcessor.cs
- DataGridViewControlCollection.cs
- BinaryFormatter.cs