Code:
/ DotNET / DotNET / 8.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
- recordstate.cs
- EntityDataSourceContextCreatingEventArgs.cs
- MultipartContentParser.cs
- DoubleStorage.cs
- StorageSetMapping.cs
- Permission.cs
- XamlSerializationHelper.cs
- dataSvcMapFileLoader.cs
- JapaneseLunisolarCalendar.cs
- StateMachineDesignerPaint.cs
- StrongNameIdentityPermission.cs
- ObjectTag.cs
- Crypto.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- LineGeometry.cs
- CombinedHttpChannel.cs
- Helper.cs
- SymbolPair.cs
- IdleTimeoutMonitor.cs
- XmlExtensionFunction.cs
- BinaryConverter.cs
- ToolBarOverflowPanel.cs
- ConnectionStringsExpressionBuilder.cs
- EntityDataSourceDataSelection.cs
- HttpHostedTransportConfiguration.cs
- TypeInfo.cs
- HttpCachePolicyWrapper.cs
- BinaryFormatterWriter.cs
- ResizingMessageFilter.cs
- QilBinary.cs
- SoapEnumAttribute.cs
- FakeModelPropertyImpl.cs
- ObjectQueryProvider.cs
- ZipIOFileItemStream.cs
- XmlDeclaration.cs
- TimeSpanParse.cs
- EraserBehavior.cs
- ExpandableObjectConverter.cs
- WebPartMenu.cs
- OracleTimeSpan.cs
- ListViewGroup.cs
- RawStylusInputCustomDataList.cs
- XamlWriter.cs
- DataGridViewCellValidatingEventArgs.cs
- StylusDevice.cs
- ChangesetResponse.cs
- ScrollChrome.cs
- SoapObjectWriter.cs
- BaseValidator.cs
- XmlReaderSettings.cs
- WorkflowViewManager.cs
- OleDbParameter.cs
- HtmlElementCollection.cs
- Geometry3D.cs
- TextRenderer.cs
- ProcessHostConfigUtils.cs
- PatternMatcher.cs
- Configuration.cs
- CanonicalizationDriver.cs
- OdbcDataAdapter.cs
- UnsafeMethods.cs
- ActivityBindForm.Designer.cs
- util.cs
- SiteMapProvider.cs
- ProgressBar.cs
- ItemCheckedEvent.cs
- Evidence.cs
- WebPartEventArgs.cs
- XmlName.cs
- DataGridViewColumnDesigner.cs
- Visitors.cs
- RectangleGeometry.cs
- HwndSource.cs
- DataControlFieldHeaderCell.cs
- KeyedHashAlgorithm.cs
- EmptyStringExpandableObjectConverter.cs
- CreateUserWizardStep.cs
- SingletonChannelAcceptor.cs
- WindowsListViewGroupHelper.cs
- DataKey.cs
- WebBrowserSiteBase.cs
- ScriptRef.cs
- ThreadStaticAttribute.cs
- XamlReaderConstants.cs
- TypeInitializationException.cs
- PackageStore.cs
- Schema.cs
- EditorOptionAttribute.cs
- TextEditorDragDrop.cs
- TrimSurroundingWhitespaceAttribute.cs
- SymLanguageVendor.cs
- Matrix3D.cs
- ObjectRef.cs
- ComplexBindingPropertiesAttribute.cs
- CodeExpressionCollection.cs
- FlowDocument.cs
- EventMetadata.cs
- SelectionGlyph.cs
- DesignerCommandSet.cs
- PixelFormat.cs