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
- CodePropertyReferenceExpression.cs
- SqlPersistenceProviderFactory.cs
- CodeMemberField.cs
- TextElement.cs
- DataListItemEventArgs.cs
- HtmlHistory.cs
- StylusOverProperty.cs
- NonDualMessageSecurityOverHttpElement.cs
- CalendarDay.cs
- SqlBinder.cs
- ResourceWriter.cs
- SpotLight.cs
- TreeSet.cs
- CalendarDateRangeChangingEventArgs.cs
- GenericWebPart.cs
- ReferenceAssemblyAttribute.cs
- SchemaName.cs
- ObjectListFieldsPage.cs
- FieldDescriptor.cs
- WebPartEditorApplyVerb.cs
- AutomationProperty.cs
- Codec.cs
- CacheMemory.cs
- DataGridViewComboBoxColumnDesigner.cs
- DataPointer.cs
- ArrayHelper.cs
- EditableLabelControl.cs
- ScriptControlManager.cs
- Vector.cs
- TemplateBindingExtensionConverter.cs
- Message.cs
- SoapCodeExporter.cs
- MSAAWinEventWrap.cs
- DoubleAverageAggregationOperator.cs
- HtmlTableCell.cs
- SecurityState.cs
- TcpServerChannel.cs
- ReadWriteSpinLock.cs
- HttpRuntimeSection.cs
- ContentElement.cs
- XmlUTF8TextReader.cs
- SaveFileDialog.cs
- EnumValAlphaComparer.cs
- FigureParaClient.cs
- ICollection.cs
- Expr.cs
- TypeSystem.cs
- ProfileSection.cs
- FixedSOMGroup.cs
- TimeEnumHelper.cs
- AnnotationDocumentPaginator.cs
- CachedPathData.cs
- XsdBuildProvider.cs
- XPathEmptyIterator.cs
- DropSource.cs
- PointAnimation.cs
- MappingItemCollection.cs
- XsltSettings.cs
- ItemCollection.cs
- TripleDESCryptoServiceProvider.cs
- BinaryParser.cs
- invalidudtexception.cs
- ToolBarPanel.cs
- ReferenceAssemblyAttribute.cs
- TextShapeableCharacters.cs
- SelectionService.cs
- KeyFrames.cs
- XmlSchemaInclude.cs
- RoutedEventValueSerializer.cs
- XmlSchema.cs
- PropertyMapper.cs
- ObjectDataSourceDisposingEventArgs.cs
- SqlWriter.cs
- NativeMethods.cs
- HttpRuntime.cs
- SystemInformation.cs
- CryptoHandle.cs
- WebZone.cs
- InkCanvasSelection.cs
- BitmapMetadata.cs
- ToolStripOverflow.cs
- DockProviderWrapper.cs
- Command.cs
- WebPartAuthorizationEventArgs.cs
- TraceLevelStore.cs
- KnownBoxes.cs
- HwndHostAutomationPeer.cs
- WebPartManager.cs
- MapPathBasedVirtualPathProvider.cs
- MaterializeFromAtom.cs
- MDIControlStrip.cs
- DBConcurrencyException.cs
- DecimalAnimationBase.cs
- PaintEvent.cs
- XmlChoiceIdentifierAttribute.cs
- OleDbStruct.cs
- VisualStyleElement.cs
- __ComObject.cs
- XsltContext.cs
- ViewLoader.cs