Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / ContainerSelectorGlyph.cs / 1 / ContainerSelectorGlyph.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;
using System.Windows.Forms;
///
///
/// This is the glyph used to drag container controls around the designer.
/// This glyph (and associated behavior) is created by the ParentControlDesigner.
///
internal sealed class ContainerSelectorGlyph : Glyph {
private Rectangle glyphBounds;
private ContainerSelectorBehavior relatedBehavior;
///
///
/// ContainerSelectorGlyph constructor.
///
internal ContainerSelectorGlyph(Rectangle containerBounds, int glyphSize, int glyphOffset, ContainerSelectorBehavior behavior) : base(behavior) {
relatedBehavior = (ContainerSelectorBehavior)behavior;
glyphBounds = new Rectangle(containerBounds.X + glyphOffset, containerBounds.Y - (int)(glyphSize * .5), glyphSize, glyphSize);
}
///
///
/// The bounds of this Glyph.
///
public override Rectangle Bounds {
get {
return glyphBounds;
}
}
public Behavior RelatedBehavior {
get {
return relatedBehavior;
}
}
///
///
/// Simple hit test rule: if the point is contained within the bounds
/// - then it is a positive hit test.
///
public override Cursor GetHitTest(Point p) {
if (glyphBounds.Contains(p) || relatedBehavior.OkToMove) {
return Cursors.SizeAll;
}
return null;
}
private Bitmap glyph = null;
private Bitmap MoveGlyph {
get {
if (glyph == null) {
glyph = new Bitmap(typeof(ContainerSelectorGlyph), "MoverGlyph.bmp");
glyph.MakeTransparent();
}
return glyph;
}
}
///
///
/// Very simple paint logic.
///
public override void Paint(PaintEventArgs pe) {
pe.Graphics.DrawImage(MoveGlyph, glyphBounds);
}
}
}
// 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
- IChannel.cs
- ValidatingCollection.cs
- RefExpr.cs
- SchemaDeclBase.cs
- PackagePartCollection.cs
- List.cs
- SupportingTokenParameters.cs
- SQLChars.cs
- PreservationFileWriter.cs
- CompiledWorkflowDefinitionContext.cs
- DockProviderWrapper.cs
- ControlBuilder.cs
- TypeGeneratedEventArgs.cs
- ConfigurationLocationCollection.cs
- TypedDataSourceCodeGenerator.cs
- PropertiesTab.cs
- FontDifferentiator.cs
- ViewEvent.cs
- NativeActivityMetadata.cs
- GroupedContextMenuStrip.cs
- LogicalExpressionTypeConverter.cs
- ReferentialConstraint.cs
- XmlEntityReference.cs
- ParserContext.cs
- FilterQueryOptionExpression.cs
- MailMessage.cs
- ObjectViewFactory.cs
- ReaderWriterLockWrapper.cs
- SoapReflector.cs
- EventWaitHandleSecurity.cs
- StringDictionary.cs
- OleDbFactory.cs
- GroupBoxAutomationPeer.cs
- WebPartHeaderCloseVerb.cs
- VectorCollectionValueSerializer.cs
- StickyNoteAnnotations.cs
- SafeThreadHandle.cs
- EventProperty.cs
- CompiledRegexRunnerFactory.cs
- ComEventsMethod.cs
- WindowShowOrOpenTracker.cs
- EpmContentSerializer.cs
- CommandManager.cs
- XmlNamespaceDeclarationsAttribute.cs
- SecurityUtils.cs
- XPathDocumentIterator.cs
- Repeater.cs
- HtmlUtf8RawTextWriter.cs
- CompiledRegexRunner.cs
- Point3DConverter.cs
- ProcessModelSection.cs
- TemplateBuilder.cs
- MdiWindowListStrip.cs
- CodeNamespaceImport.cs
- TargetParameterCountException.cs
- XPathNavigatorReader.cs
- PropertyReferenceSerializer.cs
- ContainsRowNumberChecker.cs
- ParameterBuilder.cs
- WorkflowMarkupSerializationException.cs
- MailAddress.cs
- ClientConvert.cs
- ConfigXmlText.cs
- StrongName.cs
- XsdDateTime.cs
- LabelInfo.cs
- PointLightBase.cs
- FlowDocumentReaderAutomationPeer.cs
- UnsettableComboBox.cs
- Behavior.cs
- PerfCounters.cs
- HtmlInputCheckBox.cs
- ListBoxItem.cs
- ProcessProtocolHandler.cs
- HttpAsyncResult.cs
- Single.cs
- XPathException.cs
- CheckoutException.cs
- SelectedCellsCollection.cs
- ModulesEntry.cs
- PriorityBinding.cs
- TriggerCollection.cs
- ObjectMemberMapping.cs
- LocationFactory.cs
- WhiteSpaceTrimStringConverter.cs
- CustomError.cs
- AdapterUtil.cs
- Vector3DCollection.cs
- SqlTriggerContext.cs
- ListSourceHelper.cs
- NullableConverter.cs
- ValueTable.cs
- InteropTrackingRecord.cs
- GACMembershipCondition.cs
- ColumnMapCopier.cs
- ColorConvertedBitmap.cs
- ParameterToken.cs
- MeasureData.cs
- Help.cs
- ComponentChangingEvent.cs