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
- LinqDataSourceUpdateEventArgs.cs
- LocatorGroup.cs
- BufferedReadStream.cs
- EnumMember.cs
- xmlfixedPageInfo.cs
- RawStylusActions.cs
- XhtmlTextWriter.cs
- QueueProcessor.cs
- XmlSortKeyAccumulator.cs
- HttpModuleCollection.cs
- OleDbConnectionFactory.cs
- HttpDictionary.cs
- CollectionViewGroupRoot.cs
- FlatButtonAppearance.cs
- hwndwrapper.cs
- MouseGestureConverter.cs
- MDIWindowDialog.cs
- WebPermission.cs
- AttachedPropertyDescriptor.cs
- SchemaContext.cs
- GeometryValueSerializer.cs
- PasswordRecoveryAutoFormat.cs
- SizeF.cs
- ComponentEditorPage.cs
- Symbol.cs
- CounterCreationDataConverter.cs
- EndOfStreamException.cs
- SequenceDesigner.cs
- CommandValueSerializer.cs
- ByteStreamMessageUtility.cs
- PanelDesigner.cs
- X500Name.cs
- ClientUrlResolverWrapper.cs
- PasswordDeriveBytes.cs
- XmlTextWriter.cs
- LoginStatusDesigner.cs
- NavigatorInput.cs
- ModifierKeysValueSerializer.cs
- DataColumnMapping.cs
- Logging.cs
- QilInvokeLateBound.cs
- SqlLiftWhereClauses.cs
- ArrayList.cs
- Image.cs
- Polygon.cs
- StringUtil.cs
- OAVariantLib.cs
- ServiceHttpModule.cs
- GeometryDrawing.cs
- Base64WriteStateInfo.cs
- Error.cs
- Menu.cs
- Calendar.cs
- CodeGeneratorOptions.cs
- SQLInt16.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- WaitForChangedResult.cs
- EntityDataSourceMemberPath.cs
- WebPartConnectionCollection.cs
- TextRangeAdaptor.cs
- Matrix3D.cs
- _BaseOverlappedAsyncResult.cs
- DataChangedEventManager.cs
- ComponentCollection.cs
- SQLResource.cs
- UpWmlPageAdapter.cs
- UIElementPropertyUndoUnit.cs
- QuaternionAnimation.cs
- ToolboxItemFilterAttribute.cs
- OperationResponse.cs
- OptimalTextSource.cs
- TableLayoutCellPaintEventArgs.cs
- ValidatingPropertiesEventArgs.cs
- ChtmlImageAdapter.cs
- TaskFileService.cs
- QueryConverter.cs
- StoreAnnotationsMap.cs
- GPPOINT.cs
- Selection.cs
- GridViewColumnHeader.cs
- DefinitionBase.cs
- AuditLogLocation.cs
- SignatureDescription.cs
- HwndTarget.cs
- LabelDesigner.cs
- Triplet.cs
- BypassElement.cs
- BaseCodePageEncoding.cs
- AnimationStorage.cs
- StorageSetMapping.cs
- FontFamily.cs
- InputLanguageEventArgs.cs
- DesignTableCollection.cs
- SectionVisual.cs
- SimpleMailWebEventProvider.cs
- DetailsViewRowCollection.cs
- DefaultParameterValueAttribute.cs
- UidManager.cs
- XhtmlCssHandler.cs
- EntityCommandExecutionException.cs