Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / SplitterDesigner.cs / 1 / SplitterDesigner.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope="member", Target="System.Windows.Forms.Design.SplitterDesigner..ctor()")] namespace System.Windows.Forms.Design { using System.Design; using System.ComponentModel; using System.Diagnostics; using System.Drawing.Drawing2D; using System; using System.Drawing; using System.Windows.Forms; using Microsoft.Win32; ////// /// This class handles all design time behavior for the splitter class. This /// draws a visible border on the splitter if it doesn't have a border so the /// user knows where the boundaries of the splitter lie. /// internal class SplitterDesigner : ControlDesigner { public SplitterDesigner() { AutoResizeHandles = true; } ////// /// This draws a nice border around our panel. We need /// this because the panel can have no border and you can't /// tell where it is. /// ///private void DrawBorder(Graphics graphics) { Control ctl = Control; Rectangle rc = ctl.ClientRectangle; Color penColor; // Black or white pen? Depends on the color of the control. // if (ctl.BackColor.GetBrightness() < .5) { penColor = Color.White; } else { penColor = Color.Black; } using (Pen pen = new Pen(penColor)) { pen.DashStyle = DashStyle.Dash; rc.Width --; rc.Height--; graphics.DrawRectangle(pen, rc); } } /// /// /// Overrides our base class. Here we check to see if there /// is no border on the panel. If not, we draw one so that /// the panel shape is visible at design time. /// protected override void OnPaintAdornments(PaintEventArgs pe) { Splitter splitter = (Splitter)Component; base.OnPaintAdornments(pe); if (splitter.BorderStyle == BorderStyle.None) { DrawBorder(pe.Graphics); } } protected override void WndProc(ref Message m) { switch (m.Msg) { case NativeMethods.WM_WINDOWPOSCHANGED: // Really only care about window size changing Control source = (Control)Control; source.Invalidate(); break; } base.WndProc(ref m); } } } // 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
- DrawingGroup.cs
- TabControlCancelEvent.cs
- FixedSOMPageConstructor.cs
- ExtensibleSyndicationObject.cs
- MsmqVerifier.cs
- BrowserCapabilitiesFactory35.cs
- QilLiteral.cs
- WindowsEditBox.cs
- BaseCAMarshaler.cs
- XmlSchemaSimpleTypeUnion.cs
- MetabaseServerConfig.cs
- XmlAttribute.cs
- CodeTypeDelegate.cs
- SoapEnvelopeProcessingElement.cs
- StrongNamePublicKeyBlob.cs
- Cursor.cs
- AsyncResult.cs
- OrderByQueryOptionExpression.cs
- SHA384.cs
- DataRowView.cs
- DataGridCellItemAutomationPeer.cs
- DateTimeConverter2.cs
- ListDictionary.cs
- DefaultValidator.cs
- PageBreakRecord.cs
- SafeEventLogWriteHandle.cs
- AssemblyInfo.cs
- Psha1DerivedKeyGenerator.cs
- GradientStop.cs
- ScrollBar.cs
- DropSource.cs
- RectangleF.cs
- DataGridViewCellStyleChangedEventArgs.cs
- XPathAncestorIterator.cs
- Vector3DCollectionValueSerializer.cs
- IPEndPoint.cs
- ILGenerator.cs
- BindStream.cs
- DoubleCollectionValueSerializer.cs
- WebContentFormatHelper.cs
- validationstate.cs
- HtmlUtf8RawTextWriter.cs
- BaseDataBoundControl.cs
- ISessionStateStore.cs
- SizeLimitedCache.cs
- TemplateControl.cs
- TextRunCacheImp.cs
- InArgument.cs
- WebHttpBindingElement.cs
- EventProvider.cs
- PanningMessageFilter.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- ScrollEvent.cs
- DomNameTable.cs
- RestClientProxyHandler.cs
- ClientConfigurationSystem.cs
- TabItemWrapperAutomationPeer.cs
- DataGridViewRowPrePaintEventArgs.cs
- DataTableReader.cs
- ErrorFormatter.cs
- DnsPermission.cs
- StringExpressionSet.cs
- MsmqIntegrationValidationBehavior.cs
- WindowsTooltip.cs
- EnumType.cs
- ObjectDisposedException.cs
- SoapTransportImporter.cs
- DeleteMemberBinder.cs
- AdCreatedEventArgs.cs
- TextPenaltyModule.cs
- DropShadowEffect.cs
- MarginsConverter.cs
- XmlSchemaParticle.cs
- ConsoleCancelEventArgs.cs
- ContractMapping.cs
- WorkflowApplicationIdleEventArgs.cs
- Int32.cs
- DBParameter.cs
- NavigatorInvalidBodyAccessException.cs
- GrowingArray.cs
- EngineSite.cs
- BooleanAnimationBase.cs
- HyperLinkField.cs
- indexingfiltermarshaler.cs
- MissingMemberException.cs
- Schema.cs
- ToggleProviderWrapper.cs
- ClientTargetCollection.cs
- TextRangeEdit.cs
- PackWebResponse.cs
- WebPartEditVerb.cs
- PerformanceCounterLib.cs
- PropertyGeneratedEventArgs.cs
- IImplicitResourceProvider.cs
- UrlMappingsSection.cs
- XpsDocument.cs
- UInt16Converter.cs
- ObjectPropertyMapping.cs
- ActivityBindForm.Designer.cs
- DataBoundControlAdapter.cs