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
- PeerNameRegistration.cs
- XmlSerializerAssemblyAttribute.cs
- User.cs
- AddInSegmentDirectoryNotFoundException.cs
- XmlEventCache.cs
- InternalBase.cs
- NumberFunctions.cs
- TextSchema.cs
- HttpCapabilitiesEvaluator.cs
- WmlLinkAdapter.cs
- hresults.cs
- XmlWrappingWriter.cs
- DefinitionBase.cs
- ListViewGroup.cs
- NumberFunctions.cs
- ToolZoneDesigner.cs
- NegationPusher.cs
- UnsafeNativeMethods.cs
- BindingValueChangedEventArgs.cs
- AxHostDesigner.cs
- Timeline.cs
- OpenFileDialog.cs
- WebControlAdapter.cs
- ChannelManager.cs
- XmlSerializerNamespaces.cs
- ExceptionTrace.cs
- QueryCursorEventArgs.cs
- MenuScrollingVisibilityConverter.cs
- BookmarkResumptionRecord.cs
- SqlDataRecord.cs
- DeferrableContent.cs
- MetadataUtilsSmi.cs
- PrinterResolution.cs
- DataContractSerializerElement.cs
- Literal.cs
- ProfileSettingsCollection.cs
- WebEventTraceProvider.cs
- SharedPerformanceCounter.cs
- CombinedGeometry.cs
- RegexInterpreter.cs
- Compiler.cs
- MembershipSection.cs
- DocumentGrid.cs
- UIElement3D.cs
- TargetFrameworkUtil.cs
- SoapInteropTypes.cs
- XmlAtomicValue.cs
- PropertyReferenceExtension.cs
- PageBreakRecord.cs
- ProviderSettingsCollection.cs
- CacheEntry.cs
- XmlSchemaInferenceException.cs
- Triplet.cs
- EntityParameter.cs
- MenuItemCollection.cs
- ResourceLoader.cs
- WebServiceEnumData.cs
- PropertyOverridesTypeEditor.cs
- Buffer.cs
- CriticalHandle.cs
- HtmlContainerControl.cs
- SchemaRegistration.cs
- DataServiceProcessingPipeline.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- ELinqQueryState.cs
- ItemsControl.cs
- BitmapEncoder.cs
- HwndSource.cs
- PropertyCollection.cs
- SoapFaultCodes.cs
- RtfControlWordInfo.cs
- DataRowView.cs
- ProcessStartInfo.cs
- PageClientProxyGenerator.cs
- AttributedMetaModel.cs
- AdapterDictionary.cs
- LambdaCompiler.Statements.cs
- ProxyWebPart.cs
- X509ServiceCertificateAuthenticationElement.cs
- IdleTimeoutMonitor.cs
- FactoryMaker.cs
- IdentitySection.cs
- FacetDescriptionElement.cs
- XdrBuilder.cs
- FontStretches.cs
- GridViewPageEventArgs.cs
- RoleManagerSection.cs
- XmlCharType.cs
- PerformanceCounterTraceRecord.cs
- ProxyGenerationError.cs
- SqlDataSourceParameterParser.cs
- CustomAssemblyResolver.cs
- HostingEnvironment.cs
- SemaphoreSecurity.cs
- ToolStripItemCollection.cs
- TemplateBuilder.cs
- HttpCacheVary.cs
- ImageDrawing.cs
- BasePattern.cs
- XXXInfos.cs