Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / ContextMenuStripActionList.cs / 1 / ContextMenuStripActionList.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.Design { using System.Design; using System.Runtime.InteropServices; using System.ComponentModel; using System.Diagnostics; using System; using System.Security; using System.Security.Permissions; using System.Collections; using System.ComponentModel.Design; using System.Windows.Forms; ///internal class ContextMenuStripActionList : DesignerActionList { private ToolStripDropDown _toolStripDropDown; private bool _autoShow = false; /// public ContextMenuStripActionList(ToolStripDropDownDesigner designer) : base (designer.Component) { _toolStripDropDown = (ToolStripDropDown)designer.Component; } //helper function to get the property on the actual Control private object GetProperty(string propertyName) { PropertyDescriptor getProperty = TypeDescriptor.GetProperties(_toolStripDropDown)[propertyName]; Debug.Assert( getProperty != null, "Could not find given property in control."); if( getProperty != null ) { return getProperty.GetValue(_toolStripDropDown); } return null; } //helper function to change the property on the actual Control private void ChangeProperty(string propertyName, object value) { PropertyDescriptor changingProperty = TypeDescriptor.GetProperties(_toolStripDropDown)[propertyName]; Debug.Assert( changingProperty != null, "Could not find given property in control." ); if( changingProperty != null ) { changingProperty.SetValue(_toolStripDropDown, value); } } /// /// /// Controls whether the Chrome is Automatically shown on selection /// public override bool AutoShow { get { return _autoShow; } set { if(_autoShow != value) { _autoShow = value; } } } ////// /// Sets ShowImageMargin /// public bool ShowImageMargin { get { return (bool)GetProperty("ShowImageMargin"); } set { if (value != ShowImageMargin) { ChangeProperty("ShowImageMargin", (object)value); } } } ////// /// Sets ShowCheckMargin /// public bool ShowCheckMargin { get { return (bool)GetProperty("ShowCheckMargin"); } set { if (value != ShowCheckMargin) { ChangeProperty("ShowCheckMargin", (object)value); } } } ////// /// Sets RenderMode /// public ToolStripRenderMode RenderMode { get { return (ToolStripRenderMode)GetProperty("RenderMode"); } set { if (value != RenderMode) { ChangeProperty("RenderMode", (object)value); } } } ////// /// The Main method to group the ActionItems and pass it to the Panel. /// public override DesignerActionItemCollection GetSortedActionItems() { DesignerActionItemCollection items = new DesignerActionItemCollection(); items.Add(new DesignerActionPropertyItem(SR.GetString(SR.ToolStripActionList_RenderMode), SR.GetString(SR.ToolStripActionList_RenderMode), SR.GetString(SR.ToolStripActionList_Layout), SR.GetString(SR.ToolStripActionList_RenderModeDesc))); if (_toolStripDropDown is ToolStripDropDownMenu) { items.Add(new DesignerActionPropertyItem(SR.GetString(SR.ContextMenuStripActionList_ShowImageMargin), SR.GetString(SR.ContextMenuStripActionList_ShowImageMargin), SR.GetString(SR.ToolStripActionList_Layout), SR.GetString(SR.ContextMenuStripActionList_ShowImageMarginDesc))); items.Add(new DesignerActionPropertyItem(SR.GetString(SR.ContextMenuStripActionList_ShowCheckMargin), SR.GetString(SR.ContextMenuStripActionList_ShowCheckMargin), SR.GetString(SR.ToolStripActionList_Layout), SR.GetString(SR.ContextMenuStripActionList_ShowCheckMarginDesc))); } return items; } } } // 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
- ThreadPoolTaskScheduler.cs
- DataGridItemEventArgs.cs
- SplayTreeNode.cs
- TextEndOfLine.cs
- ICspAsymmetricAlgorithm.cs
- SqlStatistics.cs
- CodeTypeMember.cs
- ReadOnlyHierarchicalDataSourceView.cs
- HMACRIPEMD160.cs
- ConditionCollection.cs
- StructureChangedEventArgs.cs
- Msmq.cs
- HideDisabledControlAdapter.cs
- BamlWriter.cs
- Screen.cs
- UseAttributeSetsAction.cs
- EnumConverter.cs
- VisualBrush.cs
- BinaryConverter.cs
- ConfigurationStrings.cs
- Point3D.cs
- MultiAsyncResult.cs
- OdbcConnectionHandle.cs
- DataGridHeaderBorder.cs
- CompilerLocalReference.cs
- StorageAssociationTypeMapping.cs
- MenuEventArgs.cs
- IDictionary.cs
- PersistChildrenAttribute.cs
- ObjectDataSourceView.cs
- DataKeyCollection.cs
- OledbConnectionStringbuilder.cs
- HandlerMappingMemo.cs
- BamlCollectionHolder.cs
- DnsPermission.cs
- SafeMILHandle.cs
- CngProperty.cs
- RSAPKCS1KeyExchangeFormatter.cs
- KeyNotFoundException.cs
- SqlParameterCollection.cs
- RegistrationProxy.cs
- AuthorizationSection.cs
- ApplicationGesture.cs
- DirectoryObjectSecurity.cs
- ResourceManager.cs
- PhysicalFontFamily.cs
- SystemDiagnosticsSection.cs
- UserPreferenceChangingEventArgs.cs
- GradientBrush.cs
- TraceHandlerErrorFormatter.cs
- TabPanel.cs
- XmlToDatasetMap.cs
- RuleElement.cs
- MediaTimeline.cs
- CapabilitiesPattern.cs
- TypeSource.cs
- WhitespaceRuleReader.cs
- ConfigsHelper.cs
- MessageEncodingBindingElementImporter.cs
- EventArgs.cs
- Utils.cs
- ScrollItemProviderWrapper.cs
- SessionEndingEventArgs.cs
- DataSourceIDConverter.cs
- CorrelationKey.cs
- RemotingAttributes.cs
- MessagePartSpecification.cs
- DockAndAnchorLayout.cs
- StorageTypeMapping.cs
- VirtualPathProvider.cs
- ToggleProviderWrapper.cs
- PrintDialog.cs
- AddInBase.cs
- RelatedCurrencyManager.cs
- UriWriter.cs
- WebControl.cs
- RecommendedAsConfigurableAttribute.cs
- ContextDataSourceView.cs
- AuthenticationServiceManager.cs
- WebPartVerb.cs
- SecurityCriticalDataForSet.cs
- ArgumentException.cs
- ReliabilityContractAttribute.cs
- SelectionPattern.cs
- PageCache.cs
- CatalogZoneBase.cs
- OleDbReferenceCollection.cs
- SrgsElementList.cs
- ResourceManagerWrapper.cs
- Classification.cs
- WebPartEditVerb.cs
- CreateUserErrorEventArgs.cs
- ClickablePoint.cs
- JpegBitmapEncoder.cs
- LoginView.cs
- URLIdentityPermission.cs
- StatusBarItemAutomationPeer.cs
- ActivationServices.cs
- WpfPayload.cs
- XamlWriterExtensions.cs