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
- PlaceHolder.cs
- FormatStringEditor.cs
- FileDialogCustomPlace.cs
- HttpResponseHeader.cs
- WaveHeader.cs
- FlowDocumentPage.cs
- CustomError.cs
- DataColumn.cs
- FolderLevelBuildProvider.cs
- SR.cs
- ImagingCache.cs
- UrlSyndicationContent.cs
- PageBuildProvider.cs
- ColumnProvider.cs
- CalendarKeyboardHelper.cs
- KeySplineConverter.cs
- CompiledRegexRunnerFactory.cs
- MissingMethodException.cs
- RoleService.cs
- ProtectedConfigurationSection.cs
- ApplicationManager.cs
- XamlStream.cs
- ControlSerializer.cs
- SafeArchiveContext.cs
- AssociatedControlConverter.cs
- HttpCacheParams.cs
- CompiledQueryCacheKey.cs
- SoapServerProtocol.cs
- DataObjectAttribute.cs
- EntityKey.cs
- CollectionContainer.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- IndentedTextWriter.cs
- WorkflowElementDialog.cs
- TimersDescriptionAttribute.cs
- DataSourceHelper.cs
- ParameterReplacerVisitor.cs
- SimpleExpression.cs
- CombinedHttpChannel.cs
- RenderDataDrawingContext.cs
- Keywords.cs
- coordinatorscratchpad.cs
- GACIdentityPermission.cs
- SimpleType.cs
- HtmlTableCellCollection.cs
- ReferenceEqualityComparer.cs
- CapabilitiesUse.cs
- versioninfo.cs
- RenamedEventArgs.cs
- PatternMatcher.cs
- Helpers.cs
- OracleInfoMessageEventArgs.cs
- FrameworkPropertyMetadata.cs
- XsltLoader.cs
- ControlsConfig.cs
- Events.cs
- ImportStoreException.cs
- RenderingBiasValidation.cs
- InvalidAsynchronousStateException.cs
- InputChannel.cs
- _KerberosClient.cs
- OutputCacheModule.cs
- XPathSelfQuery.cs
- AssertFilter.cs
- Method.cs
- XDRSchema.cs
- HeaderedContentControl.cs
- UpdatePanelTriggerCollection.cs
- IndependentAnimationStorage.cs
- ToolConsole.cs
- GeometryGroup.cs
- XmlBinaryWriterSession.cs
- BinaryCommonClasses.cs
- XPathDocument.cs
- ObjectStateEntryDbDataRecord.cs
- _SslStream.cs
- ToolBarButtonClickEvent.cs
- SqlConnectionHelper.cs
- DataContractJsonSerializer.cs
- EntityConnectionStringBuilderItem.cs
- DataReceivedEventArgs.cs
- DomainConstraint.cs
- CodeArrayCreateExpression.cs
- PriorityRange.cs
- APCustomTypeDescriptor.cs
- TypedLocationWrapper.cs
- JoinGraph.cs
- Int32AnimationUsingKeyFrames.cs
- Condition.cs
- InstanceCreationEditor.cs
- QilTargetType.cs
- BufferedWebEventProvider.cs
- RedistVersionInfo.cs
- AppDomainAttributes.cs
- FontNamesConverter.cs
- ToolboxDataAttribute.cs
- StdValidatorsAndConverters.cs
- ListBoxItem.cs
- EntityClientCacheKey.cs
- SequentialWorkflowHeaderFooter.cs