Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ToolStripProfessionalLowResolutionRenderer.cs / 1305376 / ToolStripProfessionalLowResolutionRenderer.cs
namespace System.Windows.Forms { using System; using System.Drawing; internal class ToolStripProfessionalLowResolutionRenderer : ToolStripProfessionalRenderer { public ToolStripProfessionalLowResolutionRenderer() { } internal override ToolStripRenderer RendererOverride { get { return null; } } protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e) { if( e.ToolStrip is ToolStripDropDown ) { base.OnRenderToolStripBackground(e); } } protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { if(e.ToolStrip is MenuStrip) { return; } else if (e.ToolStrip is StatusStrip ) { return; } else if (e.ToolStrip is ToolStripDropDown) { base.OnRenderToolStripBorder(e); } else { RenderToolStripBorderInternal(e); } } private void RenderToolStripBorderInternal(ToolStripRenderEventArgs e) { Rectangle bounds = new Rectangle(Point.Empty, e.ToolStrip.Size); Graphics g = e.Graphics; // have to create a pen here because we're not allowed to modify the SystemPens. using( Pen p = new Pen(SystemColors.ButtonShadow) ) { p.DashStyle = System.Drawing.Drawing2D.DashStyle.Dot; bool oddWidth = ((bounds.Width & 0x1) == 0x1); bool oddHeight = ((bounds.Height & 0x1) == 0x1); int indent = 2; // top g.DrawLine(p, bounds.X + indent, bounds.Y, bounds.Width - 1, bounds.Y); // bottom g.DrawLine(p, bounds.X + indent, bounds.Height - 1, bounds.Width - 1, bounds.Height - 1); // left g.DrawLine(p, bounds.X, bounds.Y + indent, bounds.X, bounds.Height - 1); // right g.DrawLine(p, bounds.Width - 1, bounds.Y + indent, bounds.Width - 1, bounds.Height - 1); // connecting pixels // top left conntecting pixel - always drawn g.FillRectangle(SystemBrushes.ButtonShadow, new Rectangle(1, 1, 1, 1)); if (oddWidth) { // top right pixel g.FillRectangle(SystemBrushes.ButtonShadow, new Rectangle(bounds.Width - 2, 1, 1, 1)); } // bottom conntecting pixels - drawn only if height is odd if(oddHeight) { // bottom left g.FillRectangle(SystemBrushes.ButtonShadow, new Rectangle(1, bounds.Height - 2, 1, 1)); } // top and bottom right conntecting pixel - drawn only if height and width are odd if( oddHeight && oddWidth ) { // bottom right g.FillRectangle(SystemBrushes.ButtonShadow, new Rectangle(bounds.Width - 2, bounds.Height - 2, 1, 1)); } } } } } // 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
- ChannelManager.cs
- MsmqIntegrationElement.cs
- BinaryNode.cs
- RoleGroupCollectionEditor.cs
- ProxyGenerator.cs
- PathFigureCollection.cs
- RecognizerBase.cs
- Compiler.cs
- HyperLinkDataBindingHandler.cs
- ConnectionPointCookie.cs
- TransformGroup.cs
- AttributeSetAction.cs
- ArcSegment.cs
- RenderCapability.cs
- Slider.cs
- NumberSubstitution.cs
- DesignerImageAdapter.cs
- CharEnumerator.cs
- HtmlHistory.cs
- InternalTransaction.cs
- TagPrefixAttribute.cs
- CultureInfoConverter.cs
- Schema.cs
- IPEndPoint.cs
- CellParaClient.cs
- SqlBulkCopy.cs
- IPAddress.cs
- BufferedGraphicsContext.cs
- SynchronizingStream.cs
- SafeNativeMethods.cs
- ParenthesizePropertyNameAttribute.cs
- NonBatchDirectoryCompiler.cs
- RootBrowserWindowAutomationPeer.cs
- DefaultEventAttribute.cs
- DocobjHost.cs
- _CookieModule.cs
- SatelliteContractVersionAttribute.cs
- OleDbEnumerator.cs
- LifetimeServices.cs
- ResolveNameEventArgs.cs
- PromptStyle.cs
- BaseProcessor.cs
- ZipIOFileItemStream.cs
- VectorCollection.cs
- WebPartDeleteVerb.cs
- TemplateControlParser.cs
- HMACRIPEMD160.cs
- HtmlMeta.cs
- RunInstallerAttribute.cs
- ViewCellRelation.cs
- ObjectPersistData.cs
- XmlEncoding.cs
- DataObjectMethodAttribute.cs
- CodeChecksumPragma.cs
- RijndaelManaged.cs
- HtmlElementCollection.cs
- DetailsViewDeletedEventArgs.cs
- DataGridItemCollection.cs
- MarkupExtensionSerializer.cs
- DirectionalLight.cs
- BufferedGraphics.cs
- ProcessHostConfigUtils.cs
- EnumerableCollectionView.cs
- AsyncContentLoadedEventArgs.cs
- MeasurementDCInfo.cs
- DesignerResources.cs
- UseLicense.cs
- AttributeProviderAttribute.cs
- MailDefinitionBodyFileNameEditor.cs
- TextRange.cs
- GridViewDeleteEventArgs.cs
- MessagePartDescription.cs
- MarkedHighlightComponent.cs
- EnumDataContract.cs
- validation.cs
- XmlSchemaInclude.cs
- Walker.cs
- DefaultValueTypeConverter.cs
- TableLayoutStyle.cs
- PackagingUtilities.cs
- DataObjectSettingDataEventArgs.cs
- TextRenderer.cs
- FormViewPageEventArgs.cs
- Errors.cs
- StringConverter.cs
- UTF32Encoding.cs
- WebPartDisplayModeCancelEventArgs.cs
- KeysConverter.cs
- BamlBinaryWriter.cs
- MarkupProperty.cs
- SqlConnection.cs
- ThreadStateException.cs
- ViewManagerAttribute.cs
- ScopeCollection.cs
- DynamicUpdateCommand.cs
- SqlAggregateChecker.cs
- LayoutInformation.cs
- SqlDataSourceSummaryPanel.cs
- GridViewRowEventArgs.cs
- ObjectListDataBindEventArgs.cs