Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WinForms / System / WinForms / Design / PanelDesigner.cs / 1 / PanelDesigner.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.Windows.Forms.Design { using System.ComponentModel; using System.Diagnostics; using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; using Microsoft.Win32; using System.Windows.Forms.Design.Behavior; ////// /// This class handles all design time behavior for the panel class. This /// draws a visible border on the panel if it doesn't have a border so the /// user knows where the boundaries of the panel lie. /// internal class PanelDesigner : ScrollableControlDesigner { public PanelDesigner() { 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. /// ///protected virtual void DrawBorder(Graphics graphics) { Panel panel = (Panel)Component; // if the panel is invisible, bail now if(panel == null || !panel.Visible) { return; } Pen pen = BorderPen; Rectangle rc = Control.ClientRectangle; rc.Width --; rc.Height--; graphics.DrawRectangle(pen, rc); pen.Dispose(); } /// /// /// 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) { Panel panel = (Panel)Component; if (panel.BorderStyle == BorderStyle.None) { DrawBorder(pe.Graphics); } base.OnPaintAdornments(pe); } ////// Creates a Dashed-Pen of appropriate color. /// protected Pen BorderPen { get { Color penColor = Control.BackColor.GetBrightness() < .5 ? ControlPaint.Light(Control.BackColor) : ControlPaint.Dark(Control.BackColor); Pen pen = new Pen(penColor); pen.DashStyle = DashStyle.Dash; return pen; } } } } // 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
- UnsafeNativeMethodsPenimc.cs
- WebProxyScriptElement.cs
- GeneralTransform2DTo3DTo2D.cs
- XmlnsDictionary.cs
- EntityReference.cs
- StrongNameIdentityPermission.cs
- WrappedIUnknown.cs
- DesignTimeVisibleAttribute.cs
- Timeline.cs
- EnumValidator.cs
- GroupPartitionExpr.cs
- SqlFlattener.cs
- PrinterSettings.cs
- ScriptResourceInfo.cs
- ActivityInterfaces.cs
- RemoteX509Token.cs
- CodeRemoveEventStatement.cs
- QueryExpr.cs
- MappingMetadataHelper.cs
- MachineSettingsSection.cs
- _Rfc2616CacheValidators.cs
- InputMethod.cs
- BlobPersonalizationState.cs
- WpfXamlType.cs
- SoapElementAttribute.cs
- ViewManager.cs
- UncommonField.cs
- ValidationRuleCollection.cs
- Boolean.cs
- WebPartCatalogAddVerb.cs
- WhitespaceRuleReader.cs
- FileDialog.cs
- BinaryMessageEncodingBindingElement.cs
- IntSecurity.cs
- DesignTimeVisibleAttribute.cs
- CssClassPropertyAttribute.cs
- XPathAncestorQuery.cs
- DocumentNUp.cs
- WorkflowQueueInfo.cs
- TemplateXamlParser.cs
- AnnotationResource.cs
- Button.cs
- XmlSchemaExternal.cs
- TrustLevel.cs
- AuthenticationManager.cs
- BasicHttpSecurity.cs
- RemotingHelper.cs
- ThrowHelper.cs
- SchemaLookupTable.cs
- TryCatchDesigner.xaml.cs
- PeerNameRecord.cs
- FontInfo.cs
- BuildManagerHost.cs
- SoapAttributes.cs
- Overlapped.cs
- WebDisplayNameAttribute.cs
- FormViewUpdatedEventArgs.cs
- WebBrowserDesigner.cs
- AppDomainEvidenceFactory.cs
- BindingManagerDataErrorEventArgs.cs
- OpenTypeLayout.cs
- GridSplitterAutomationPeer.cs
- ActivityBindForm.cs
- reliableinputsessionchannel.cs
- WebServiceHandlerFactory.cs
- ToolTipService.cs
- ConstantProjectedSlot.cs
- JsonReaderWriterFactory.cs
- GridViewCancelEditEventArgs.cs
- FieldBuilder.cs
- ExtractorMetadata.cs
- CodeNamespace.cs
- XmlSchemaComplexContentRestriction.cs
- HttpConfigurationSystem.cs
- RegionInfo.cs
- DetailsViewModeEventArgs.cs
- infer.cs
- XmlObjectSerializerReadContext.cs
- DataProviderNameConverter.cs
- COM2FontConverter.cs
- SelectionManager.cs
- BrowserInteropHelper.cs
- ToolboxCategoryItems.cs
- RuleRef.cs
- XmlHierarchyData.cs
- UriParserTemplates.cs
- HierarchicalDataBoundControl.cs
- FormViewUpdateEventArgs.cs
- CodeThrowExceptionStatement.cs
- SafeNativeMemoryHandle.cs
- GeometryModel3D.cs
- UnSafeCharBuffer.cs
- PrintControllerWithStatusDialog.cs
- XmlEncodedRawTextWriter.cs
- Pair.cs
- DbReferenceCollection.cs
- AssemblyBuilder.cs
- SystemIPInterfaceProperties.cs
- StylusButtonEventArgs.cs
- ChtmlPhoneCallAdapter.cs