Code:
/ FX-1434 / FX-1434 / 1.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
- KeyValueConfigurationElement.cs
- DefaultHttpHandler.cs
- DataSetViewSchema.cs
- HwndKeyboardInputProvider.cs
- ProjectionPathBuilder.cs
- TextClipboardData.cs
- ContextMenu.cs
- RegionInfo.cs
- SmtpReplyReaderFactory.cs
- ParameterCollection.cs
- ColorContextHelper.cs
- AutoResetEvent.cs
- Timeline.cs
- DrawingImage.cs
- ProxyWebPartConnectionCollection.cs
- RoleGroup.cs
- PolyLineSegmentFigureLogic.cs
- cryptoapiTransform.cs
- HttpHostedTransportConfiguration.cs
- KeyedPriorityQueue.cs
- Walker.cs
- ScrollViewerAutomationPeer.cs
- ConfigurationPermission.cs
- CharStorage.cs
- WindowsButton.cs
- DynamicDataExtensions.cs
- CellTreeNode.cs
- RectAnimationBase.cs
- IntranetCredentialPolicy.cs
- TypeUsage.cs
- ReaderContextStackData.cs
- Composition.cs
- IItemContainerGenerator.cs
- ExceptionRoutedEventArgs.cs
- HtmlShimManager.cs
- EntityTypeEmitter.cs
- CreateUserWizardStep.cs
- DiscreteKeyFrames.cs
- SemaphoreSecurity.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- EmptyQuery.cs
- SystemTcpConnection.cs
- SvcMapFileSerializer.cs
- FontClient.cs
- HtmlTableCell.cs
- UndoManager.cs
- PersonalizationProvider.cs
- StyleXamlParser.cs
- ArrangedElement.cs
- PermissionSetTriple.cs
- UnicastIPAddressInformationCollection.cs
- PersonalizationAdministration.cs
- PropertyNames.cs
- While.cs
- shaper.cs
- ParameterCollection.cs
- PropertyCondition.cs
- PrintPageEvent.cs
- HtmlShimManager.cs
- ConnectionPoolManager.cs
- NamespaceQuery.cs
- _LoggingObject.cs
- complextypematerializer.cs
- SafeMILHandle.cs
- CompatibleIComparer.cs
- VirtualPath.cs
- ServiceObjectContainer.cs
- ItemDragEvent.cs
- InternalEnumValidator.cs
- Dispatcher.cs
- FormatSelectingMessageInspector.cs
- CodeStatement.cs
- DBAsyncResult.cs
- NamespaceEmitter.cs
- LocatorPart.cs
- NamespaceEmitter.cs
- ApplicationTrust.cs
- WindowsSolidBrush.cs
- ImageCodecInfo.cs
- AuthenticationServiceManager.cs
- WindowsAuthenticationEventArgs.cs
- ImmutableObjectAttribute.cs
- ConditionChanges.cs
- InputManager.cs
- NavigationWindowAutomationPeer.cs
- ParameterDataSourceExpression.cs
- CodeDirectoryCompiler.cs
- TimeSpanMinutesConverter.cs
- InternalResources.cs
- ClrProviderManifest.cs
- PageVisual.cs
- TextAdaptor.cs
- WindowsSysHeader.cs
- AdRotator.cs
- Hex.cs
- MeasureItemEvent.cs
- ParserContext.cs
- SecurityTokenAuthenticator.cs
- Point3DCollection.cs
- SQLResource.cs