Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / WinForms / Managed / System / WinForms / ToolStripContentPanel.cs / 1 / ToolStripContentPanel.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System.Diagnostics; using System; using System.ComponentModel; using System.Drawing; using System.Collections.Specialized; using System.Runtime.InteropServices; using System.Diagnostics.CodeAnalysis; using System.ComponentModel.Design; [ ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch), Designer("System.Windows.Forms.Design.ToolStripContentPanelDesigner, " + AssemblyRef.SystemDesign), DefaultEvent("Load"), Docking(DockingBehavior.Never), InitializationEvent("Load"), ToolboxItem(false) ] public class ToolStripContentPanel : Panel { private ToolStripRendererSwitcher rendererSwitcher = null; private BitVector32 state = new BitVector32(); private static readonly int stateLastDoubleBuffer = BitVector32.CreateMask(); private static readonly object EventRendererChanged = new object(); private static readonly object EventLoad = new object(); public ToolStripContentPanel() { // Consider: OptimizedDoubleBuffer SetStyle(ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true); } ////// Allows the control to optionally shrink when AutoSize is true. /// [ EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false), Localizable(false) ] public override AutoSizeMode AutoSizeMode { get { return AutoSizeMode.GrowOnly; } set { } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override AnchorStyles Anchor { get { return base.Anchor; } set { base.Anchor = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never) ] public override bool AutoScroll { get { return base.AutoScroll; } set { base.AutoScroll = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new Size AutoScrollMargin { get { return base.AutoScrollMargin; } set { base.AutoScrollMargin = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new Size AutoScrollMinSize { get { return base.AutoScrollMinSize; } set { base.AutoScrollMinSize = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override bool AutoSize { get { return base.AutoSize; } set { base.AutoSize = value; } } public override Color BackColor { get { return base.BackColor; } set { // To support transparency on ToolStripContainer, we need this check // to ensure that background color of the container reflects the // ContentPanel if (this.ParentInternal is ToolStripContainer && value == Color.Transparent) { this.ParentInternal.BackColor = Color.Transparent; } base.BackColor = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new event EventHandler AutoSizeChanged{ add { base.AutoSizeChanged += value; } remove { base.AutoSizeChanged -= value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new bool CausesValidation { get { return base.CausesValidation; } set { base.CausesValidation = value; } } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new event EventHandler CausesValidationChanged { add { base.CausesValidationChanged += value; } remove { base.CausesValidationChanged -= value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override DockStyle Dock { get { return base.Dock; } set { base.Dock=value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new event EventHandler DockChanged { add { base.DockChanged += value; } remove { base.DockChanged -= value; } } [SRCategory(SR.CatBehavior), SRDescription(SR.ToolStripContentPanelOnLoadDescr)] public event EventHandler Load { add { Events.AddHandler(EventLoad, value); } remove { Events.RemoveHandler(EventLoad, value); } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new Point Location { get { return base.Location; } set { base.Location = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new event EventHandler LocationChanged { add { base.LocationChanged += value; } remove { base.LocationChanged -= value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override Size MinimumSize { get { return base.MinimumSize; } set { base.MinimumSize = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override Size MaximumSize { get { return base.MaximumSize; } set { base.MaximumSize = value; } } [ EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false) ] public new string Name { get { return base.Name; } set { base.Name = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new int TabIndex { get { return base.TabIndex; } set { base.TabIndex = value; } } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new event EventHandler TabIndexChanged { add { base.TabIndexChanged += value; } remove { base.TabIndexChanged -= value; } } [ DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false), EditorBrowsable(EditorBrowsableState.Never) ] public new bool TabStop { get { return base.TabStop; } set { base.TabStop = value; } } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new event EventHandler TabStopChanged { add { base.TabStopChanged += value; } remove { base.TabStopChanged -= value; } } private ToolStripRendererSwitcher RendererSwitcher { get { if (rendererSwitcher == null) { rendererSwitcher = new ToolStripRendererSwitcher(this, ToolStripRenderMode.System); HandleRendererChanged(this, EventArgs.Empty); rendererSwitcher.RendererChanged += new EventHandler(HandleRendererChanged); } return rendererSwitcher; } } [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] public ToolStripRenderer Renderer { get { return RendererSwitcher.Renderer; } set { RendererSwitcher.Renderer = value; } } ///[ SRDescription(SR.ToolStripRenderModeDescr), SRCategory(SR.CatAppearance), ] public ToolStripRenderMode RenderMode { get { return RendererSwitcher.RenderMode; } set { RendererSwitcher.RenderMode = value; } } [SRCategory(SR.CatAppearance), SRDescription(SR.ToolStripRendererChanged)] [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] public event EventHandler RendererChanged { add { Events.AddHandler(EventRendererChanged, value); } remove { Events.RemoveHandler(EventRendererChanged, value); } } private void HandleRendererChanged(object sender, EventArgs e) { OnRendererChanged(e); } protected override void OnHandleCreated(EventArgs e) { base.OnHandleCreated(e); if (!RecreatingHandle) { OnLoad(EventArgs.Empty); } } [EditorBrowsable(EditorBrowsableState.Advanced)] protected virtual void OnLoad(EventArgs e) { // There is no good way to explain this event except to say // that it's just another name for OnControlCreated. EventHandler handler = (EventHandler)Events[EventLoad]; if (handler != null) handler(this,e); } [EditorBrowsable(EditorBrowsableState.Advanced)] protected override void OnPaintBackground(PaintEventArgs e) { ToolStripContentPanelRenderEventArgs rea = new ToolStripContentPanelRenderEventArgs(e.Graphics, this); Renderer.DrawToolStripContentPanelBackground(rea); if (!rea.Handled) { base.OnPaintBackground(e); } } /// [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] protected virtual void OnRendererChanged(EventArgs e) { // we dont want to be greedy.... if we're using TSProfessionalRenderer go DBuf, else dont. if (Renderer is ToolStripProfessionalRenderer) { state[stateLastDoubleBuffer] = this.DoubleBuffered; //this.DoubleBuffered = true; SetStyle(ControlStyles.OptimizedDoubleBuffer, true); } else { // restore DBuf this.DoubleBuffered = state[stateLastDoubleBuffer]; } Renderer.InitializeContentPanel(this); this.Invalidate(); EventHandler handler = (EventHandler)Events[EventRendererChanged]; if (handler != null) handler(this,e); } private void ResetRenderMode() { this.RendererSwitcher.ResetRenderMode(); } private bool ShouldSerializeRenderMode() { return this.RendererSwitcher.ShouldSerializeRenderMode(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System.Diagnostics; using System; using System.ComponentModel; using System.Drawing; using System.Collections.Specialized; using System.Runtime.InteropServices; using System.Diagnostics.CodeAnalysis; using System.ComponentModel.Design; [ ComVisible(true), ClassInterface(ClassInterfaceType.AutoDispatch), Designer("System.Windows.Forms.Design.ToolStripContentPanelDesigner, " + AssemblyRef.SystemDesign), DefaultEvent("Load"), Docking(DockingBehavior.Never), InitializationEvent("Load"), ToolboxItem(false) ] public class ToolStripContentPanel : Panel { private ToolStripRendererSwitcher rendererSwitcher = null; private BitVector32 state = new BitVector32(); private static readonly int stateLastDoubleBuffer = BitVector32.CreateMask(); private static readonly object EventRendererChanged = new object(); private static readonly object EventLoad = new object(); public ToolStripContentPanel() { // Consider: OptimizedDoubleBuffer SetStyle(ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor, true); } ////// Allows the control to optionally shrink when AutoSize is true. /// [ EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false), Localizable(false) ] public override AutoSizeMode AutoSizeMode { get { return AutoSizeMode.GrowOnly; } set { } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override AnchorStyles Anchor { get { return base.Anchor; } set { base.Anchor = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never) ] public override bool AutoScroll { get { return base.AutoScroll; } set { base.AutoScroll = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new Size AutoScrollMargin { get { return base.AutoScrollMargin; } set { base.AutoScrollMargin = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new Size AutoScrollMinSize { get { return base.AutoScrollMinSize; } set { base.AutoScrollMinSize = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override bool AutoSize { get { return base.AutoSize; } set { base.AutoSize = value; } } public override Color BackColor { get { return base.BackColor; } set { // To support transparency on ToolStripContainer, we need this check // to ensure that background color of the container reflects the // ContentPanel if (this.ParentInternal is ToolStripContainer && value == Color.Transparent) { this.ParentInternal.BackColor = Color.Transparent; } base.BackColor = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new event EventHandler AutoSizeChanged{ add { base.AutoSizeChanged += value; } remove { base.AutoSizeChanged -= value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new bool CausesValidation { get { return base.CausesValidation; } set { base.CausesValidation = value; } } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new event EventHandler CausesValidationChanged { add { base.CausesValidationChanged += value; } remove { base.CausesValidationChanged -= value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override DockStyle Dock { get { return base.Dock; } set { base.Dock=value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new event EventHandler DockChanged { add { base.DockChanged += value; } remove { base.DockChanged -= value; } } [SRCategory(SR.CatBehavior), SRDescription(SR.ToolStripContentPanelOnLoadDescr)] public event EventHandler Load { add { Events.AddHandler(EventLoad, value); } remove { Events.RemoveHandler(EventLoad, value); } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new Point Location { get { return base.Location; } set { base.Location = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new event EventHandler LocationChanged { add { base.LocationChanged += value; } remove { base.LocationChanged -= value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override Size MinimumSize { get { return base.MinimumSize; } set { base.MinimumSize = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public override Size MaximumSize { get { return base.MaximumSize; } set { base.MaximumSize = value; } } [ EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false) ] public new string Name { get { return base.Name; } set { base.Name = value; } } [ Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden) ] public new int TabIndex { get { return base.TabIndex; } set { base.TabIndex = value; } } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new event EventHandler TabIndexChanged { add { base.TabIndexChanged += value; } remove { base.TabIndexChanged -= value; } } [ DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Browsable(false), EditorBrowsable(EditorBrowsableState.Never) ] public new bool TabStop { get { return base.TabStop; } set { base.TabStop = value; } } [Browsable(false), EditorBrowsable(EditorBrowsableState.Never)] public new event EventHandler TabStopChanged { add { base.TabStopChanged += value; } remove { base.TabStopChanged -= value; } } private ToolStripRendererSwitcher RendererSwitcher { get { if (rendererSwitcher == null) { rendererSwitcher = new ToolStripRendererSwitcher(this, ToolStripRenderMode.System); HandleRendererChanged(this, EventArgs.Empty); rendererSwitcher.RendererChanged += new EventHandler(HandleRendererChanged); } return rendererSwitcher; } } [Browsable(false)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] public ToolStripRenderer Renderer { get { return RendererSwitcher.Renderer; } set { RendererSwitcher.Renderer = value; } } ///[ SRDescription(SR.ToolStripRenderModeDescr), SRCategory(SR.CatAppearance), ] public ToolStripRenderMode RenderMode { get { return RendererSwitcher.RenderMode; } set { RendererSwitcher.RenderMode = value; } } [SRCategory(SR.CatAppearance), SRDescription(SR.ToolStripRendererChanged)] [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] public event EventHandler RendererChanged { add { Events.AddHandler(EventRendererChanged, value); } remove { Events.RemoveHandler(EventRendererChanged, value); } } private void HandleRendererChanged(object sender, EventArgs e) { OnRendererChanged(e); } protected override void OnHandleCreated(EventArgs e) { base.OnHandleCreated(e); if (!RecreatingHandle) { OnLoad(EventArgs.Empty); } } [EditorBrowsable(EditorBrowsableState.Advanced)] protected virtual void OnLoad(EventArgs e) { // There is no good way to explain this event except to say // that it's just another name for OnControlCreated. EventHandler handler = (EventHandler)Events[EventLoad]; if (handler != null) handler(this,e); } [EditorBrowsable(EditorBrowsableState.Advanced)] protected override void OnPaintBackground(PaintEventArgs e) { ToolStripContentPanelRenderEventArgs rea = new ToolStripContentPanelRenderEventArgs(e.Graphics, this); Renderer.DrawToolStripContentPanelBackground(rea); if (!rea.Handled) { base.OnPaintBackground(e); } } /// [SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly")] protected virtual void OnRendererChanged(EventArgs e) { // we dont want to be greedy.... if we're using TSProfessionalRenderer go DBuf, else dont. if (Renderer is ToolStripProfessionalRenderer) { state[stateLastDoubleBuffer] = this.DoubleBuffered; //this.DoubleBuffered = true; SetStyle(ControlStyles.OptimizedDoubleBuffer, true); } else { // restore DBuf this.DoubleBuffered = state[stateLastDoubleBuffer]; } Renderer.InitializeContentPanel(this); this.Invalidate(); EventHandler handler = (EventHandler)Events[EventRendererChanged]; if (handler != null) handler(this,e); } private void ResetRenderMode() { this.RendererSwitcher.ResetRenderMode(); } private bool ShouldSerializeRenderMode() { return this.RendererSwitcher.ShouldSerializeRenderMode(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScrollBarRenderer.cs
- BoundColumn.cs
- SQLBytes.cs
- Graphics.cs
- ModuleBuilderData.cs
- DocumentApplication.cs
- DefaultAsyncDataDispatcher.cs
- ValidationError.cs
- CustomLineCap.cs
- XmlnsCache.cs
- HMACSHA512.cs
- ClientScriptManagerWrapper.cs
- SynchronizedDispatch.cs
- DragDropHelper.cs
- HandleRef.cs
- SmtpFailedRecipientException.cs
- _NegotiateClient.cs
- DocobjHost.cs
- TableDetailsRow.cs
- SequenceDesigner.cs
- PrimitiveOperationFormatter.cs
- FreezableDefaultValueFactory.cs
- HwndAppCommandInputProvider.cs
- FileStream.cs
- SQLString.cs
- Number.cs
- DebugInfoExpression.cs
- WebControlAdapter.cs
- DirectionalLight.cs
- ModifiableIteratorCollection.cs
- SQLByteStorage.cs
- Matrix3D.cs
- NumberFunctions.cs
- SafeFileMapViewHandle.cs
- WebPartDisplayModeCancelEventArgs.cs
- TransformPatternIdentifiers.cs
- DynamicValueConverter.cs
- Rule.cs
- ScaleTransform3D.cs
- LogReservationCollection.cs
- BookmarkUndoUnit.cs
- GACIdentityPermission.cs
- ByteKeyFrameCollection.cs
- ScriptDescriptor.cs
- PenLineCapValidation.cs
- WmpBitmapEncoder.cs
- Span.cs
- Int16.cs
- ItemType.cs
- ContainerSelectorBehavior.cs
- SystemDropShadowChrome.cs
- RightsManagementManager.cs
- ControlAdapter.cs
- SingleAnimationUsingKeyFrames.cs
- DateTimePicker.cs
- ObjectDataSourceView.cs
- ObjectListDesigner.cs
- EllipseGeometry.cs
- SimpleApplicationHost.cs
- ItemContainerGenerator.cs
- AspNetHostingPermission.cs
- VersionValidator.cs
- ActionMismatchAddressingException.cs
- HWStack.cs
- CapacityStreamGeometryContext.cs
- CrossContextChannel.cs
- SqlDataSourceConnectionPanel.cs
- HttpListener.cs
- UpdateTracker.cs
- RoamingStoreFile.cs
- GroupByExpressionRewriter.cs
- UrlUtility.cs
- ExtensionQuery.cs
- CqlErrorHelper.cs
- PartialCachingAttribute.cs
- CodeDomSerializationProvider.cs
- ProcessInfo.cs
- BasicHttpMessageCredentialType.cs
- CanonicalFormWriter.cs
- WsiProfilesElementCollection.cs
- SkipStoryboardToFill.cs
- NullReferenceException.cs
- RC2CryptoServiceProvider.cs
- TextTreeTextElementNode.cs
- RegisteredScript.cs
- KeyToListMap.cs
- XmlSchemaRedefine.cs
- TreeWalkHelper.cs
- StatusBar.cs
- CounterSampleCalculator.cs
- RNGCryptoServiceProvider.cs
- SchemaObjectWriter.cs
- MobileControlsSectionHelper.cs
- HttpValueCollection.cs
- FacetChecker.cs
- SqlVisitor.cs
- InteropTrackingRecord.cs
- TemplateKeyConverter.cs
- WebContext.cs
- XmlEntityReference.cs