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
- Win32.cs
- TextProviderWrapper.cs
- RecipientInfo.cs
- AutomationFocusChangedEventArgs.cs
- TabPanel.cs
- CompilerParameters.cs
- indexingfiltermarshaler.cs
- DocumentGrid.cs
- PluggableProtocol.cs
- TemplateControlCodeDomTreeGenerator.cs
- StringUtil.cs
- TransformPattern.cs
- StateChangeEvent.cs
- CodeTypeParameter.cs
- TreeWalker.cs
- BitmapEffectState.cs
- LinkClickEvent.cs
- BitmapEffectInput.cs
- PtsHost.cs
- ModelVisual3D.cs
- MetadataItemEmitter.cs
- iisPickupDirectory.cs
- path.cs
- SoapFormatExtensions.cs
- CodeExpressionStatement.cs
- ThaiBuddhistCalendar.cs
- LambdaCompiler.cs
- RegistryPermission.cs
- ToolStripOverflow.cs
- RadioButton.cs
- TabletCollection.cs
- StrokeDescriptor.cs
- HttpModuleAction.cs
- ScrollProperties.cs
- StickyNoteContentControl.cs
- DelayedRegex.cs
- Message.cs
- HWStack.cs
- SoapCodeExporter.cs
- DataGridParentRows.cs
- StandardOleMarshalObject.cs
- Atom10FormatterFactory.cs
- StyleCollection.cs
- ActivityExecutorDelegateInfo.cs
- DBPropSet.cs
- DataGridPageChangedEventArgs.cs
- FrameworkPropertyMetadata.cs
- ErrorHandlerModule.cs
- EntitySetRetriever.cs
- GridViewUpdateEventArgs.cs
- PageRequestManager.cs
- XmlObjectSerializerReadContextComplex.cs
- KeyManager.cs
- TextTreeDeleteContentUndoUnit.cs
- FormViewPagerRow.cs
- FacetChecker.cs
- SafeTimerHandle.cs
- IntegerValidator.cs
- SapiRecoInterop.cs
- ImageListStreamer.cs
- AssemblyCache.cs
- ScrollBarAutomationPeer.cs
- PriorityQueue.cs
- CombinedGeometry.cs
- Directory.cs
- PerspectiveCamera.cs
- InvalidFilterCriteriaException.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ProfileService.cs
- TemplateColumn.cs
- CultureTable.cs
- FormView.cs
- HtmlForm.cs
- TreeNodeCollection.cs
- SmiContext.cs
- RTLAwareMessageBox.cs
- ImageAttributes.cs
- BindingContext.cs
- OdbcFactory.cs
- CodeSubDirectory.cs
- NavigationWindow.cs
- PrintPreviewDialog.cs
- BindableTemplateBuilder.cs
- XmlSerializerNamespaces.cs
- CacheSection.cs
- DecoderExceptionFallback.cs
- LicenseManager.cs
- PinnedBufferMemoryStream.cs
- RuleSettingsCollection.cs
- LinqDataSourceView.cs
- SocketAddress.cs
- PolicyVersionConverter.cs
- AuthorizationRule.cs
- pingexception.cs
- TransformGroup.cs
- RecommendedAsConfigurableAttribute.cs
- BitmapEffectGroup.cs
- MbpInfo.cs
- WebPartEditVerb.cs
- PageMediaSize.cs