Code:
/ FX-1434 / FX-1434 / 1.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
- WindowsClientCredential.cs
- PointAnimationUsingKeyFrames.cs
- LayoutInformation.cs
- PointAnimation.cs
- FileChangesMonitor.cs
- SingleObjectCollection.cs
- GenericTextProperties.cs
- ClientType.cs
- ComContractElement.cs
- MetadataFile.cs
- HostedImpersonationContext.cs
- SoapSchemaExporter.cs
- OperatorExpressions.cs
- FixedDocumentPaginator.cs
- SecurityResources.cs
- AssemblyResourceLoader.cs
- SmiEventSink_Default.cs
- Trace.cs
- ProgressPage.cs
- Menu.cs
- EntityCollectionChangedParams.cs
- KeyValueSerializer.cs
- ListManagerBindingsCollection.cs
- StructuralCache.cs
- FtpWebRequest.cs
- UInt32Converter.cs
- StrokeDescriptor.cs
- ContentFilePart.cs
- BufferBuilder.cs
- StreamInfo.cs
- EntityTransaction.cs
- UpdatePanel.cs
- RangeBase.cs
- AttributeCollection.cs
- ClearTypeHintValidation.cs
- CheckableControlBaseAdapter.cs
- CqlIdentifiers.cs
- InheritedPropertyChangedEventArgs.cs
- RunWorkerCompletedEventArgs.cs
- ITreeGenerator.cs
- AutoGeneratedField.cs
- SelectingProviderEventArgs.cs
- WinEventTracker.cs
- WindowsComboBox.cs
- SecurityChannelFactory.cs
- ProfileSettingsCollection.cs
- MarkupProperty.cs
- DataBindingList.cs
- Condition.cs
- ClipboardProcessor.cs
- AutoGeneratedFieldProperties.cs
- MethodAccessException.cs
- ReadOnlyKeyedCollection.cs
- StorageEntityTypeMapping.cs
- UrlUtility.cs
- RewritingPass.cs
- WindowsEditBox.cs
- KerberosRequestorSecurityToken.cs
- OdbcDataAdapter.cs
- TdsRecordBufferSetter.cs
- TextTreeDeleteContentUndoUnit.cs
- ToolStripLabel.cs
- ConfigurationSectionGroup.cs
- DataGridViewCellStyleConverter.cs
- ConditionalExpression.cs
- EmbossBitmapEffect.cs
- Pkcs7Signer.cs
- DbDataSourceEnumerator.cs
- EntityDataSource.cs
- Error.cs
- DesignerInterfaces.cs
- HostExecutionContextManager.cs
- LinkedList.cs
- SByteStorage.cs
- MessageQueue.cs
- DataPointer.cs
- webclient.cs
- X509SecurityToken.cs
- Mouse.cs
- VisualStyleInformation.cs
- CorruptingExceptionCommon.cs
- hresults.cs
- Pair.cs
- mediapermission.cs
- ResXBuildProvider.cs
- PolicyStatement.cs
- FontDifferentiator.cs
- ObjectItemConventionAssemblyLoader.cs
- versioninfo.cs
- UnsafeNativeMethods.cs
- ReachDocumentReferenceCollectionSerializer.cs
- DbDeleteCommandTree.cs
- TableLayoutSettingsTypeConverter.cs
- NetworkAddressChange.cs
- DataGridViewComboBoxEditingControl.cs
- WeakEventTable.cs
- EncoderFallback.cs
- XmlElementAttributes.cs
- GridViewColumnCollection.cs
- FactoryMaker.cs