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
- SiteMapDataSourceView.cs
- WebEventTraceProvider.cs
- BindingContext.cs
- DatePicker.cs
- Converter.cs
- TransformValueSerializer.cs
- DataViewSetting.cs
- WebBodyFormatMessageProperty.cs
- WindowsSecurityToken.cs
- CodeIdentifiers.cs
- FacetChecker.cs
- PrePostDescendentsWalker.cs
- MenuItemStyle.cs
- Int64.cs
- CharacterShapingProperties.cs
- RootBrowserWindowAutomationPeer.cs
- PlaceHolder.cs
- DiscreteKeyFrames.cs
- HMACSHA512.cs
- XmlSchemaProviderAttribute.cs
- Configuration.cs
- LinearGradientBrush.cs
- SettingsProperty.cs
- SafeSecurityHandles.cs
- TagElement.cs
- CorrelationManager.cs
- PropertyPathConverter.cs
- ResourceManagerWrapper.cs
- MsmqBindingMonitor.cs
- Compiler.cs
- EntityCommandExecutionException.cs
- WorkflowInstanceAbortedRecord.cs
- EntitySetBase.cs
- RegistryKey.cs
- WorkflowServiceBehavior.cs
- WebProxyScriptElement.cs
- ConstraintManager.cs
- TypedTableBaseExtensions.cs
- FixedHyperLink.cs
- ReflectionPermission.cs
- DragEventArgs.cs
- ResXFileRef.cs
- GregorianCalendarHelper.cs
- ParallelDesigner.cs
- IPAddress.cs
- pingexception.cs
- TreePrinter.cs
- FormsAuthenticationUser.cs
- WebPartDisplayModeCollection.cs
- FileChangesMonitor.cs
- KnownBoxes.cs
- EncoderParameter.cs
- OleDbEnumerator.cs
- StylusPointPropertyInfo.cs
- PersonalizationAdministration.cs
- SecurityHelper.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- DataRow.cs
- Number.cs
- XmlSerializationWriter.cs
- VersionedStream.cs
- HTTPNotFoundHandler.cs
- ProtocolsConfigurationEntry.cs
- MessageSecurityVersion.cs
- ConfigurationManagerHelperFactory.cs
- HashAlgorithm.cs
- GifBitmapDecoder.cs
- DecoderExceptionFallback.cs
- EmbeddedObject.cs
- EntityConnectionStringBuilderItem.cs
- DebuggerService.cs
- MemoryRecordBuffer.cs
- SettingsPropertyIsReadOnlyException.cs
- ContextProperty.cs
- TreeNodeSelectionProcessor.cs
- FileDialog_Vista_Interop.cs
- XmlAttributeAttribute.cs
- EventListener.cs
- XmlConvert.cs
- HasActivatableWorkflowEvent.cs
- DbTransaction.cs
- ContractInferenceHelper.cs
- GetPageCompletedEventArgs.cs
- ReferenceTypeElement.cs
- ClientScriptManager.cs
- SoapSchemaImporter.cs
- ListViewGroupConverter.cs
- FormViewCommandEventArgs.cs
- RoutedEvent.cs
- ConfigurationSectionCollection.cs
- NamespaceInfo.cs
- Buffer.cs
- Baml2006Reader.cs
- StringFreezingAttribute.cs
- SymDocumentType.cs
- XPathNode.cs
- Query.cs
- StreamAsIStream.cs
- DropSource.cs
- QueryableFilterRepeater.cs