Code:
/ DotNET / DotNET / 8.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
- ImageIndexConverter.cs
- GeneralTransform2DTo3DTo2D.cs
- ResourcesChangeInfo.cs
- DynamicDocumentPaginator.cs
- FontUnitConverter.cs
- ConnectorSelectionGlyph.cs
- ToolStripSystemRenderer.cs
- TableProviderWrapper.cs
- Int32RectValueSerializer.cs
- RubberbandSelector.cs
- RequestQueryParser.cs
- ComponentResourceKey.cs
- FieldCollectionEditor.cs
- DropTarget.cs
- SafeFileMappingHandle.cs
- MemberDescriptor.cs
- IRCollection.cs
- AttributeTable.cs
- ExportOptions.cs
- CopyCodeAction.cs
- ContainerUtilities.cs
- PropertyStore.cs
- LinqDataSourceContextEventArgs.cs
- TextElement.cs
- BufferedGraphicsManager.cs
- WeakRefEnumerator.cs
- ActiveXSite.cs
- FileDialogPermission.cs
- OpenTypeLayout.cs
- AuthenticationSection.cs
- OleDbConnection.cs
- SizeConverter.cs
- ExtendedProtectionPolicyTypeConverter.cs
- XamlSerializerUtil.cs
- FormsAuthentication.cs
- InputLanguage.cs
- LinearKeyFrames.cs
- FtpWebRequest.cs
- LicenseContext.cs
- SplitContainer.cs
- CheckableControlBaseAdapter.cs
- LiteralControl.cs
- TemplateBindingExtension.cs
- SafeCoTaskMem.cs
- ToolbarAUtomationPeer.cs
- ComEventsInfo.cs
- RecordConverter.cs
- DependencyProperty.cs
- ToolBarButtonClickEvent.cs
- _ShellExpression.cs
- RegisteredExpandoAttribute.cs
- OutputCacheModule.cs
- SourceFileBuildProvider.cs
- CodePrimitiveExpression.cs
- ProfileInfo.cs
- WebPartChrome.cs
- ConnectivityStatus.cs
- ObjectStateFormatter.cs
- ListChangedEventArgs.cs
- TagMapCollection.cs
- QilList.cs
- UIElement3D.cs
- PropertyEmitterBase.cs
- ExtensionSurface.cs
- SiteMapPathDesigner.cs
- ToolboxItemAttribute.cs
- DateTimeConverter.cs
- OpCodes.cs
- TargetPerspective.cs
- HitTestParameters.cs
- AssemblyResolver.cs
- XmlChildNodes.cs
- FixUpCollection.cs
- ReachSerializerAsync.cs
- SystemColors.cs
- isolationinterop.cs
- LookupNode.cs
- AuthorizationRule.cs
- ReflectionTypeLoadException.cs
- ConfigurationValidatorAttribute.cs
- handlecollector.cs
- WindowShowOrOpenTracker.cs
- AudioLevelUpdatedEventArgs.cs
- LineGeometry.cs
- BindingSource.cs
- EditorBrowsableAttribute.cs
- LayoutEditorPart.cs
- PackWebResponse.cs
- bindurihelper.cs
- ComplexPropertyEntry.cs
- TypefaceMap.cs
- RuntimeHelpers.cs
- ManagementDateTime.cs
- HashHelper.cs
- DbMetaDataCollectionNames.cs
- CollaborationHelperFunctions.cs
- SqlFlattener.cs
- PieceNameHelper.cs
- SmiRequestExecutor.cs
- HyperLinkDesigner.cs