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
- TemplatedMailWebEventProvider.cs
- ParameterCollectionEditorForm.cs
- RuntimeConfig.cs
- ExtensionDataObject.cs
- AnnotationMap.cs
- URL.cs
- SyntaxCheck.cs
- Parsers.cs
- Parameter.cs
- CodeMemberMethod.cs
- lengthconverter.cs
- DigitShape.cs
- SystemIcmpV6Statistics.cs
- Identity.cs
- UidManager.cs
- XamlPointCollectionSerializer.cs
- CompilerState.cs
- ProcessInputEventArgs.cs
- BackoffTimeoutHelper.cs
- TdsValueSetter.cs
- XmlUnspecifiedAttribute.cs
- ClientOptions.cs
- XmlElementAttribute.cs
- ResolveResponse.cs
- CapabilitiesUse.cs
- XPathBinder.cs
- MD5Cng.cs
- ServiceNameElement.cs
- PeerObject.cs
- ISO2022Encoding.cs
- CompositeCollectionView.cs
- RegexBoyerMoore.cs
- SQLDoubleStorage.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- ScriptResourceHandler.cs
- BufferedWebEventProvider.cs
- CodeTypeReference.cs
- SerializationEventsCache.cs
- FontFamilyIdentifier.cs
- Stream.cs
- CodeDomConfigurationHandler.cs
- ResourcePart.cs
- RawMouseInputReport.cs
- IISUnsafeMethods.cs
- SapiAttributeParser.cs
- ObjectDataSourceMethodEventArgs.cs
- DataGridViewRowPostPaintEventArgs.cs
- ButtonFlatAdapter.cs
- NameValuePermission.cs
- CheckBoxField.cs
- ApplicationFileParser.cs
- CollectionChangeEventArgs.cs
- XmlArrayItemAttributes.cs
- OracleNumber.cs
- LingerOption.cs
- Figure.cs
- MaterialGroup.cs
- WorkflowInlining.cs
- DataGridViewCellStateChangedEventArgs.cs
- DocumentViewerConstants.cs
- DataGridViewColumnStateChangedEventArgs.cs
- IgnoreFileBuildProvider.cs
- BitmapCodecInfoInternal.cs
- EffectiveValueEntry.cs
- SafeNativeMethods.cs
- path.cs
- UnhandledExceptionEventArgs.cs
- CustomPopupPlacement.cs
- SubMenuStyleCollection.cs
- ComMethodElement.cs
- Transform.cs
- InputLanguageEventArgs.cs
- StickyNoteContentControl.cs
- Int32RectConverter.cs
- RangeValuePatternIdentifiers.cs
- VBIdentifierNameEditor.cs
- SimpleHandlerBuildProvider.cs
- SessionStateItemCollection.cs
- OracleSqlParser.cs
- ProcessThread.cs
- DynamicRouteExpression.cs
- SecurityUtils.cs
- PkcsMisc.cs
- AnnotationObservableCollection.cs
- DeclarationUpdate.cs
- EventProxy.cs
- DateTimeConstantAttribute.cs
- GridViewSortEventArgs.cs
- RequestCacheValidator.cs
- XamlHostingSectionGroup.cs
- OleDbParameterCollection.cs
- SystemTcpStatistics.cs
- CompilerGeneratedAttribute.cs
- HtmlDocument.cs
- DataColumn.cs
- ObjectManager.cs
- CodeSnippetTypeMember.cs
- EdmItemCollection.cs
- RepeaterItemCollection.cs
- CheckBoxBaseAdapter.cs