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
- XmlComplianceUtil.cs
- StyleSelector.cs
- Logging.cs
- DiagnosticsConfiguration.cs
- dbenumerator.cs
- SpanIndex.cs
- ProxyWebPartConnectionCollection.cs
- WindowsComboBox.cs
- Subset.cs
- TemplateXamlParser.cs
- PageAsyncTask.cs
- WSTrust.cs
- BuiltInExpr.cs
- TypedTableBaseExtensions.cs
- CapabilitiesAssignment.cs
- GeneralTransformGroup.cs
- BinarySerializer.cs
- EUCJPEncoding.cs
- RegularExpressionValidator.cs
- FieldNameLookup.cs
- DisplayMemberTemplateSelector.cs
- Switch.cs
- PropertyGridEditorPart.cs
- ChtmlPageAdapter.cs
- MatrixValueSerializer.cs
- ClrPerspective.cs
- UnhandledExceptionEventArgs.cs
- SubpageParagraph.cs
- MissingManifestResourceException.cs
- EditorPartCollection.cs
- EncoderNLS.cs
- ExpandableObjectConverter.cs
- PasswordDeriveBytes.cs
- XmlWhitespace.cs
- TextFormatterContext.cs
- InvalidComObjectException.cs
- CompilerState.cs
- Color.cs
- QuerySetOp.cs
- StringHandle.cs
- ApplicationProxyInternal.cs
- ExpressionServices.cs
- PrintDialogException.cs
- VScrollBar.cs
- FontFamily.cs
- Pkcs9Attribute.cs
- TCEAdapterGenerator.cs
- StyleHelper.cs
- SqlOuterApplyReducer.cs
- Run.cs
- InheritedPropertyChangedEventArgs.cs
- SweepDirectionValidation.cs
- WmlListAdapter.cs
- FileSystemWatcher.cs
- EventMemberCodeDomSerializer.cs
- xmlfixedPageInfo.cs
- TextSelection.cs
- GridViewColumnHeaderAutomationPeer.cs
- EdmComplexTypeAttribute.cs
- ConfigUtil.cs
- future.cs
- MouseDevice.cs
- ContactManager.cs
- ObjectQueryProvider.cs
- DrawingAttributeSerializer.cs
- Expression.cs
- ErrorStyle.cs
- ResourceManagerWrapper.cs
- DataGridRowHeader.cs
- QueryOperatorEnumerator.cs
- DataPagerFieldCollection.cs
- SqlHelper.cs
- DeferredSelectedIndexReference.cs
- ResourceSetExpression.cs
- GlobalDataBindingHandler.cs
- AvTraceFormat.cs
- EventWaitHandle.cs
- WindowAutomationPeer.cs
- UpdateTranslator.cs
- elementinformation.cs
- XmlSchemaSimpleTypeRestriction.cs
- WCFServiceClientProxyGenerator.cs
- LineServices.cs
- Error.cs
- ExtentKey.cs
- FontWeightConverter.cs
- Restrictions.cs
- ISO2022Encoding.cs
- SharedDp.cs
- AnnotationAuthorChangedEventArgs.cs
- Error.cs
- ObjectQuery_EntitySqlExtensions.cs
- BinarySerializer.cs
- ProvideValueServiceProvider.cs
- SystemInfo.cs
- QueryInterceptorAttribute.cs
- SafeHandles.cs
- TraceLevelHelper.cs
- Point4D.cs
- EndpointInfo.cs