Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / ToolStripProfessionalLowResolutionRenderer.cs / 1 / 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
- CryptoApi.cs
- PermissionSet.cs
- ClientScriptManager.cs
- ExpressionParser.cs
- AppDomainShutdownMonitor.cs
- InplaceBitmapMetadataWriter.cs
- SchemaTypeEmitter.cs
- WizardSideBarListControlItem.cs
- CounterSetInstance.cs
- ServiceKnownTypeAttribute.cs
- LinearGradientBrush.cs
- ValueSerializerAttribute.cs
- HtmlTableCell.cs
- AdapterDictionary.cs
- WindowsRegion.cs
- EventTrigger.cs
- XmlSchemaSimpleTypeRestriction.cs
- ExtensionDataReader.cs
- SelectorItemAutomationPeer.cs
- Tile.cs
- DataRelation.cs
- MessageLogger.cs
- OutputScopeManager.cs
- SplitterDesigner.cs
- HtmlInputRadioButton.cs
- DoubleUtil.cs
- ActivationArguments.cs
- XmlElementCollection.cs
- WindowsGraphics.cs
- ConnectionStringSettings.cs
- ConstructorNeedsTagAttribute.cs
- IsolatedStoragePermission.cs
- ServicePointManager.cs
- ListBoxAutomationPeer.cs
- FormDocumentDesigner.cs
- UnitySerializationHolder.cs
- CrossContextChannel.cs
- QuaternionRotation3D.cs
- TextReader.cs
- MimeAnyImporter.cs
- DesignerForm.cs
- X509CertificateStore.cs
- DefaultMemberAttribute.cs
- HttpSysSettings.cs
- MasterPage.cs
- DropShadowEffect.cs
- HwndHostAutomationPeer.cs
- DbQueryCommandTree.cs
- BitmapDecoder.cs
- Atom10FormatterFactory.cs
- DateTimeFormatInfoScanner.cs
- XmlSchemaNotation.cs
- ChtmlMobileTextWriter.cs
- DataGridViewDataConnection.cs
- ParameterCollection.cs
- ThreadPool.cs
- CacheDict.cs
- ThreadAttributes.cs
- _ConnectionGroup.cs
- WebPartCatalogAddVerb.cs
- DataGridViewDataErrorEventArgs.cs
- IIS7UserPrincipal.cs
- TraceHwndHost.cs
- X509ThumbprintKeyIdentifierClause.cs
- TypeConstant.cs
- DashStyle.cs
- activationcontext.cs
- XmlnsDictionary.cs
- AdornerDecorator.cs
- GeneralTransform.cs
- TimeEnumHelper.cs
- HeaderUtility.cs
- QuarticEase.cs
- DataGridColumnDropSeparator.cs
- HwndHost.cs
- NullableConverter.cs
- FragmentQueryProcessor.cs
- WebPartDescriptionCollection.cs
- SqlProcedureAttribute.cs
- Message.cs
- ImageInfo.cs
- _ConnectionGroup.cs
- DeleteCardRequest.cs
- ApplyTemplatesAction.cs
- ChineseLunisolarCalendar.cs
- SafeRightsManagementPubHandle.cs
- OdbcParameter.cs
- SourceFileInfo.cs
- ByteFacetDescriptionElement.cs
- CroppedBitmap.cs
- XmlParserContext.cs
- SessionParameter.cs
- CodeMethodInvokeExpression.cs
- ADMembershipProvider.cs
- OuterGlowBitmapEffect.cs
- HtmlToClrEventProxy.cs
- OleDbDataAdapter.cs
- WebResourceUtil.cs
- CompositeActivityTypeDescriptor.cs
- AuthorizationRuleCollection.cs