Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / DesignerToolStripControlHost.cs / 1 / DesignerToolStripControlHost.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.Windows.Forms.Design {
using System.Design;
using Accessibility;
using System.ComponentModel;
using System.Diagnostics;
using System;
using System.Security;
using System.Security.Permissions;
using System.ComponentModel.Design;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms.Design.Behavior;
///
///
/// This internal class is used by the new ToolStripDesigner to add a dummy
/// node to the end. This class inherits from WinBarControlHost and overrides the
/// CanSelect property so that the dummy Node when shown in the designer doesnt show
/// selection on Mouse movements.
/// The image is set to theDummyNodeImage embedded into the resources.
///
///
internal class DesignerToolStripControlHost : ToolStripControlHost, IComponent
{
private BehaviorService b;
internal ToolStrip parent=null;
//
// Constructor
//
///
public DesignerToolStripControlHost(Control c) : base(c)
{
// this ToolStripItem should not have defaultPadding.
this.Margin = Padding.Empty;
}
///
///
/// We need to return Default size for Editor ToolStrip (92, 22).
///
protected override Size DefaultSize {
get {
return new Size(92, 22);
}
}
internal GlyphCollection GetGlyphs(ToolStrip parent, GlyphCollection glyphs, System.Windows.Forms.Design.Behavior.Behavior standardBehavior) {
if (b == null)
{
b = (BehaviorService)parent.Site.GetService(typeof(BehaviorService));
}
Point loc = b.ControlToAdornerWindow(this.Parent);
Rectangle r = this.Bounds;
r.Offset(loc);
r.Inflate (-2 , -2);
glyphs.Add(new MiniLockedBorderGlyph(r, SelectionBorderGlyphType.Top, standardBehavior, true));
glyphs.Add(new MiniLockedBorderGlyph(r, SelectionBorderGlyphType.Bottom, standardBehavior, true));
glyphs.Add(new MiniLockedBorderGlyph(r, SelectionBorderGlyphType.Left, standardBehavior, true));
glyphs.Add(new MiniLockedBorderGlyph(r, SelectionBorderGlyphType.Right, standardBehavior, true));
return glyphs;
}
internal void RefreshSelectionGlyph()
{
ToolStrip miniToolStrip = this.Control as ToolStrip;
if (miniToolStrip != null)
{
ToolStripTemplateNode.MiniToolStripRenderer renderer = miniToolStrip.Renderer as ToolStripTemplateNode.MiniToolStripRenderer;
if (renderer != null)
{
renderer.State = (int)TemplateNodeSelectionState.None;
miniToolStrip.Invalidate();
}
}
}
internal void SelectControl()
{
ToolStrip miniToolStrip = this.Control as ToolStrip;
if (miniToolStrip != null)
{
ToolStripTemplateNode.MiniToolStripRenderer renderer = miniToolStrip.Renderer as ToolStripTemplateNode.MiniToolStripRenderer;
if (renderer != null)
{
renderer.State = (int)TemplateNodeSelectionState.TemplateNodeSelected;
miniToolStrip.Invalidate();
}
}
}
}
}
// 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
- SafeFileMappingHandle.cs
- GeometryConverter.cs
- TypefaceMetricsCache.cs
- UriGenerator.cs
- LogSwitch.cs
- AsymmetricKeyExchangeFormatter.cs
- xml.cs
- CommandLineParser.cs
- TraversalRequest.cs
- URLString.cs
- DataGridViewElement.cs
- SafeBuffer.cs
- EdgeProfileValidation.cs
- Filter.cs
- ToolStripComboBox.cs
- MimeMultiPart.cs
- ServiceNameCollection.cs
- ArrayTypeMismatchException.cs
- FormViewInsertEventArgs.cs
- DataProtection.cs
- ContentPosition.cs
- PipeSecurity.cs
- PageRanges.cs
- PageBreakRecord.cs
- HtmlHead.cs
- ReflectionTypeLoadException.cs
- XmlMembersMapping.cs
- CharacterMetricsDictionary.cs
- RC2CryptoServiceProvider.cs
- SecurityPolicySection.cs
- RuntimeConfigLKG.cs
- XmlQueryRuntime.cs
- BaseParser.cs
- DoubleLinkListEnumerator.cs
- CompilationUtil.cs
- DataContractSerializer.cs
- MouseEventArgs.cs
- MessagePropertyVariants.cs
- DataSourceXmlTextReader.cs
- RijndaelManagedTransform.cs
- CustomPeerResolverService.cs
- ImageAnimator.cs
- MenuItemBinding.cs
- UnsafeNativeMethodsTablet.cs
- FusionWrap.cs
- SetterBase.cs
- CollectionChangedEventManager.cs
- ResXBuildProvider.cs
- CodeStatementCollection.cs
- ProcessHost.cs
- Win32.cs
- DocumentPageViewAutomationPeer.cs
- RemoteWebConfigurationHost.cs
- MarshalByRefObject.cs
- DuplexSecurityProtocolFactory.cs
- MembershipValidatePasswordEventArgs.cs
- Int32RectConverter.cs
- EntityDataSourceContextCreatedEventArgs.cs
- ColorInterpolationModeValidation.cs
- httpapplicationstate.cs
- ReferencedCollectionType.cs
- Double.cs
- ProgressBar.cs
- ValueOfAction.cs
- UIElementCollection.cs
- CompositeTypefaceMetrics.cs
- PaintValueEventArgs.cs
- WeakReferenceEnumerator.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ConfigurationManagerInternal.cs
- PrivilegeNotHeldException.cs
- MasterPageParser.cs
- CompoundFileDeflateTransform.cs
- NativeMethods.cs
- XmlAttributeHolder.cs
- XmlSchemaAnnotated.cs
- BaseTemplateParser.cs
- CharAnimationBase.cs
- InteropAutomationProvider.cs
- ProxyGenerator.cs
- SubclassTypeValidator.cs
- CqlQuery.cs
- HttpValueCollection.cs
- DesignRelation.cs
- Point3DConverter.cs
- InplaceBitmapMetadataWriter.cs
- ElasticEase.cs
- CapabilitiesState.cs
- NumericUpDownAcceleration.cs
- DataListItem.cs
- BinaryObjectReader.cs
- DataSourceView.cs
- BridgeDataRecord.cs
- SmiEventSink_DeferedProcessing.cs
- EncodingNLS.cs
- RelationshipEnd.cs
- CompiledRegexRunner.cs
- SettingsPropertyIsReadOnlyException.cs
- MenuScrollingVisibilityConverter.cs
- RadioButton.cs