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
- ObjectDataSourceWizardForm.cs
- ToolZoneDesigner.cs
- NameValueSectionHandler.cs
- UIElement3D.cs
- DataGridViewCellStateChangedEventArgs.cs
- DBCommandBuilder.cs
- DataGrid.cs
- IPEndPoint.cs
- Stack.cs
- SqlInfoMessageEvent.cs
- ClientProtocol.cs
- MessageContractAttribute.cs
- FontUnitConverter.cs
- HttpSessionStateBase.cs
- BehaviorEditorPart.cs
- GroupItem.cs
- Crc32.cs
- XmlQueryTypeFactory.cs
- FieldNameLookup.cs
- webclient.cs
- AspNetSynchronizationContext.cs
- DataServiceHostFactory.cs
- UIntPtr.cs
- TCPClient.cs
- StringUtil.cs
- X509SubjectKeyIdentifierClause.cs
- DiagnosticTraceRecords.cs
- DesignerActionUIStateChangeEventArgs.cs
- ToolStripDropDownClosingEventArgs.cs
- TextServicesCompartmentContext.cs
- XmlSchemaSimpleTypeList.cs
- Vector3DAnimation.cs
- IsolationInterop.cs
- BaseTemplateParser.cs
- ColorConvertedBitmapExtension.cs
- MachinePropertyVariants.cs
- XamlBrushSerializer.cs
- ObjectIDGenerator.cs
- DataBoundControlAdapter.cs
- DataSourceComponent.cs
- DynamicRouteExpression.cs
- ButtonFieldBase.cs
- ToolStripContainer.cs
- XPathExpr.cs
- DesignerActionListCollection.cs
- StylusSystemGestureEventArgs.cs
- recordstatefactory.cs
- MenuCommand.cs
- TextChangedEventArgs.cs
- AmbientLight.cs
- XmlSchemaSimpleTypeUnion.cs
- SafeHandles.cs
- Expression.cs
- Ops.cs
- httpstaticobjectscollection.cs
- columnmapkeybuilder.cs
- HwndPanningFeedback.cs
- HtmlDocument.cs
- RuntimeArgument.cs
- X509Utils.cs
- ConnectionPointGlyph.cs
- ArraySegment.cs
- ListViewGroupItemCollection.cs
- ConditionalWeakTable.cs
- LinqToSqlWrapper.cs
- Cloud.cs
- MessageHeaderAttribute.cs
- RightsManagementPermission.cs
- XmlSerializableServices.cs
- ClipboardData.cs
- DataKey.cs
- SendingRequestEventArgs.cs
- ToolStripPanelDesigner.cs
- DataGridTextBoxColumn.cs
- KeyTime.cs
- DataSourceCacheDurationConverter.cs
- HitTestParameters3D.cs
- ServiceNotStartedException.cs
- AutomationFocusChangedEventArgs.cs
- StretchValidation.cs
- SpellerStatusTable.cs
- FormsAuthentication.cs
- FixedSOMTableCell.cs
- HttpFileCollectionBase.cs
- EncodingInfo.cs
- DrawingGroup.cs
- GraphicsContainer.cs
- ColumnWidthChangingEvent.cs
- QuadraticBezierSegment.cs
- CurrentChangingEventArgs.cs
- ListBox.cs
- ImageKeyConverter.cs
- Interlocked.cs
- IncrementalReadDecoders.cs
- XmlSchemaValidationException.cs
- ListDictionaryInternal.cs
- CannotUnloadAppDomainException.cs
- DodSequenceMerge.cs
- TriggerAction.cs
- CodeStatementCollection.cs