Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / Behavior / DesignerActionKeyboardBehavior.cs / 1 / DesignerActionKeyboardBehavior.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.Windows.Forms.Design;
using System.Diagnostics.CodeAnalysis;
///
///
///
internal sealed class DesignerActionKeyboardBehavior : Behavior {
private DesignerActionPanel panel;
private IMenuCommandService menuService;
private DesignerActionUIService daUISvc;
private static readonly Guid VSStandardCommandSet97 = new Guid("{5efc7975-14bc-11cf-9b2b-00aa00573819}");
public DesignerActionKeyboardBehavior(DesignerActionPanel panel, IServiceProvider serviceProvider, BehaviorService behaviorService) :
base(true, behaviorService) {
this.panel = panel;
if(serviceProvider != null) {
this.menuService = serviceProvider.GetService(typeof(IMenuCommandService)) as IMenuCommandService;
Debug.Assert(menuService != null, "we should have found a menu service here...");
this.daUISvc = serviceProvider.GetService(typeof(DesignerActionUIService)) as DesignerActionUIService;
}
}
// THIS shoudl not stay here, creation of a custom command or of the real thing should be handled in the
// designeractionpanel itself
public override MenuCommand FindCommand(CommandID commandId) {
if(panel != null && menuService != null) {
// if the command we're looking for is handled by the panel, just tell VS that this command is
// disabled. otherwise let it through as usual...
foreach(CommandID candidateCommandId in panel.FilteredCommandIDs) {
if(candidateCommandId.Equals(commandId)) {
MenuCommand dummyMC = new MenuCommand(delegate{}, commandId);
dummyMC.Enabled = false;
//Debug.WriteLine("Found command id in DesignerActionPAnel supported commands");
return dummyMC;
}
}
// in case of a ctrl-tab we need to close the DAP
if (daUISvc != null && commandId.Guid == DesignerActionKeyboardBehavior.VSStandardCommandSet97 && commandId.ID == 1124) {
daUISvc.HideUI(null);
}
}
//Debug.WriteLine("NOT Found command id in DesignerActionPAnel supported commands. ASking base...");
return base.FindCommand(commandId); // this will route the request to the parent behavior
}
}
}
// 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
- WebColorConverter.cs
- MetadataItemEmitter.cs
- CodeAccessSecurityEngine.cs
- ToolStripGripRenderEventArgs.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- XmlStreamNodeWriter.cs
- HttpCookie.cs
- Accessors.cs
- ToolStripHighContrastRenderer.cs
- Size3DConverter.cs
- Ray3DHitTestResult.cs
- Glyph.cs
- VerificationException.cs
- BadImageFormatException.cs
- XPathNodeIterator.cs
- AppSettingsExpressionBuilder.cs
- HandleCollector.cs
- BuilderInfo.cs
- XPathScanner.cs
- MemberPathMap.cs
- PolyBezierSegment.cs
- XmlWellformedWriter.cs
- SafeSecurityHelper.cs
- NotifyInputEventArgs.cs
- IPEndPointCollection.cs
- DurableServiceAttribute.cs
- Vertex.cs
- Array.cs
- HttpException.cs
- ControlParameter.cs
- CodeVariableReferenceExpression.cs
- UnmanagedHandle.cs
- RegionInfo.cs
- CompilationUtil.cs
- PersonalizationProviderHelper.cs
- ExeConfigurationFileMap.cs
- DataFormats.cs
- WebPageTraceListener.cs
- XmlName.cs
- Condition.cs
- Preprocessor.cs
- SqlDataSourceCommandEventArgs.cs
- StoreItemCollection.cs
- DataGridViewCellValidatingEventArgs.cs
- Triplet.cs
- ReliabilityContractAttribute.cs
- SchemaSetCompiler.cs
- InProcStateClientManager.cs
- MenuAutoFormat.cs
- Utils.cs
- ToolStripHighContrastRenderer.cs
- Attachment.cs
- AuthenticationManager.cs
- FrugalMap.cs
- SelectingProviderEventArgs.cs
- UTF32Encoding.cs
- AssemblyResourceLoader.cs
- CapacityStreamGeometryContext.cs
- ThemeDirectoryCompiler.cs
- DelimitedListTraceListener.cs
- PointUtil.cs
- SimpleType.cs
- TextServicesPropertyRanges.cs
- DataServiceContext.cs
- EditableTreeList.cs
- Vector3DIndependentAnimationStorage.cs
- ScopedKnownTypes.cs
- DebugView.cs
- PathStreamGeometryContext.cs
- HostingEnvironment.cs
- WebSysDefaultValueAttribute.cs
- EventsTab.cs
- InfoCardXmlSerializer.cs
- EventHandlerList.cs
- CollectionsUtil.cs
- UIElement3D.cs
- OneOfConst.cs
- SqlXml.cs
- TypeBinaryExpression.cs
- ContentFilePart.cs
- PathFigureCollectionValueSerializer.cs
- DeploymentExceptionMapper.cs
- Pair.cs
- XmlSecureResolver.cs
- CounterCreationDataConverter.cs
- TransformerInfoCollection.cs
- XDRSchema.cs
- ZoneIdentityPermission.cs
- InputBinding.cs
- LineInfo.cs
- ValidatorCompatibilityHelper.cs
- WindowsFormsSynchronizationContext.cs
- FunctionImportElement.cs
- NavigationCommands.cs
- XmlSchemaAttributeGroup.cs
- SqlParameter.cs
- TextElement.cs
- DataConnectionHelper.cs
- WebConfigurationHostFileChange.cs
- EntityWithKeyStrategy.cs