Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / BodyGlyph.cs / 1 / BodyGlyph.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 placed on every control sized to the exact bounds of
/// the control.
///
public class ControlBodyGlyph : ComponentGlyph {
private Rectangle bounds; //bounds of the related control
private Cursor hitTestCursor; //cursor used to hit test
private IComponent component;
///
///
/// Standard Constructor.
///
public ControlBodyGlyph(Rectangle bounds, Cursor cursor, IComponent relatedComponent, ControlDesigner designer) : base(relatedComponent, new ControlDesigner.TransparentBehavior(designer)) {
this.bounds = bounds;
this.hitTestCursor = cursor;
this.component = relatedComponent;
}
public ControlBodyGlyph(Rectangle bounds, Cursor cursor, IComponent relatedComponent, Behavior behavior) : base(relatedComponent, behavior) {
this.bounds = bounds;
this.hitTestCursor = cursor;
this.component = relatedComponent;
}
///
///
/// Simple hit test rule: if the point is contained within the bounds
/// AND the component is Visible (controls on some tab pages may
/// not be, for ex) then it is a positive hit test.
///
public override Cursor GetHitTest(Point p) {
bool isVisible = (component is Control) ? ((Control)component).Visible : true; /*non-controls are always visible here*/
if (isVisible && bounds.Contains(p)) {
return hitTestCursor;
}
return null;
}
///
///
/// The bounds of this glyph.
///
public override Rectangle Bounds {
get {
return 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
- TextSpanModifier.cs
- ManagementOperationWatcher.cs
- WebPartMenu.cs
- RequestSecurityTokenResponse.cs
- LicenseProviderAttribute.cs
- ISO2022Encoding.cs
- TextServicesCompartmentEventSink.cs
- X509Certificate.cs
- CustomErrorsSection.cs
- TypeBuilderInstantiation.cs
- ReadingWritingEntityEventArgs.cs
- ActivityExecutionContextCollection.cs
- SqlPersonalizationProvider.cs
- SharedHttpsTransportManager.cs
- User.cs
- OdbcConnectionOpen.cs
- NameTable.cs
- TreeNodeBindingCollection.cs
- SchemaImporterExtensionElement.cs
- CodeSubDirectory.cs
- BindMarkupExtensionSerializer.cs
- SafeNativeMethods.cs
- XhtmlCssHandler.cs
- ExpressionDumper.cs
- GZipObjectSerializer.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- Memoizer.cs
- SettingsPropertyCollection.cs
- SecurityException.cs
- CommonXSendMessage.cs
- AddressUtility.cs
- httpapplicationstate.cs
- SQLDateTime.cs
- TagPrefixAttribute.cs
- PrivilegeNotHeldException.cs
- KeyGestureValueSerializer.cs
- CompositeActivityMarkupSerializer.cs
- ResourceProviderFactory.cs
- RadioButtonPopupAdapter.cs
- WebServiceReceiveDesigner.cs
- WorkflowApplicationUnloadedException.cs
- PropertyStore.cs
- MarkupCompilePass1.cs
- WarningException.cs
- PathParser.cs
- ResXDataNode.cs
- SafeEventLogReadHandle.cs
- XmlNodeChangedEventArgs.cs
- ColorConvertedBitmap.cs
- ResponseBodyWriter.cs
- ObjectHelper.cs
- TabControlCancelEvent.cs
- SqlError.cs
- _ConnectOverlappedAsyncResult.cs
- Rect3D.cs
- AuthenticationConfig.cs
- SafeFileHandle.cs
- NonParentingControl.cs
- SerialPort.cs
- PaperSource.cs
- ScrollBar.cs
- SemanticAnalyzer.cs
- SafeThreadHandle.cs
- TagPrefixCollection.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ChameleonKey.cs
- ClientUrlResolverWrapper.cs
- Matrix3D.cs
- ApplicationFileParser.cs
- AffineTransform3D.cs
- LineGeometry.cs
- ItemAutomationPeer.cs
- PartialTrustHelpers.cs
- DrawingImage.cs
- BaseComponentEditor.cs
- Control.cs
- AssemblySettingAttributes.cs
- SqlFormatter.cs
- Formatter.cs
- UnsafeNativeMethods.cs
- DivideByZeroException.cs
- AutoResizedEvent.cs
- CompilationRelaxations.cs
- RequestCachePolicy.cs
- DeviceFiltersSection.cs
- PenThreadPool.cs
- MILUtilities.cs
- ToolStripTextBox.cs
- ContainerParaClient.cs
- ArithmeticException.cs
- SpeakInfo.cs
- CopyEncoder.cs
- WSHttpSecurity.cs
- Image.cs
- InheritanceAttribute.cs
- SimpleBitVector32.cs
- XmlAttributeCache.cs
- GlobalEventManager.cs
- DbConnectionPool.cs
- OutputCacheSettings.cs