Code:
/ DotNET / DotNET / 8.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
- Baml6Assembly.cs
- Currency.cs
- SiteMapSection.cs
- KernelTypeValidation.cs
- PeerEndPoint.cs
- ColorTranslator.cs
- FixUp.cs
- AssemblySettingAttributes.cs
- ManagedWndProcTracker.cs
- WindowsFormsSectionHandler.cs
- FontWeights.cs
- Propagator.ExtentPlaceholderCreator.cs
- GACMembershipCondition.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- PinnedBufferMemoryStream.cs
- AssemblyCache.cs
- ShaperBuffers.cs
- Button.cs
- SqlOuterApplyReducer.cs
- SiteMapNode.cs
- InheritanceAttribute.cs
- XmlConvert.cs
- HttpListenerResponse.cs
- DbParameterCollectionHelper.cs
- ConfigXmlComment.cs
- UInt64.cs
- RouteItem.cs
- MailWebEventProvider.cs
- DataTemplateKey.cs
- ItemsControlAutomationPeer.cs
- Attributes.cs
- ScrollBarAutomationPeer.cs
- FixedSOMContainer.cs
- SynthesizerStateChangedEventArgs.cs
- ResourcePool.cs
- RequestTimeoutManager.cs
- SecurityRuntime.cs
- CollectionView.cs
- ListDataBindEventArgs.cs
- RegexTree.cs
- Stroke2.cs
- ProtectedProviderSettings.cs
- DataServiceHostWrapper.cs
- ProgressBarRenderer.cs
- WindowsEditBoxRange.cs
- HyperlinkAutomationPeer.cs
- WebExceptionStatus.cs
- HMAC.cs
- WindowsIPAddress.cs
- SoapSchemaMember.cs
- TimeSpan.cs
- VersionPair.cs
- ImageClickEventArgs.cs
- MembershipUser.cs
- ScrollChangedEventArgs.cs
- SystemException.cs
- _SecureChannel.cs
- ParenthesizePropertyNameAttribute.cs
- EventLogLink.cs
- Pair.cs
- precedingquery.cs
- DomNameTable.cs
- ProxyGenerationError.cs
- ServiceEndpointAssociationProvider.cs
- ColorDialog.cs
- SafeLibraryHandle.cs
- PartialTrustVisibleAssemblyCollection.cs
- RootBrowserWindowAutomationPeer.cs
- ClipboardProcessor.cs
- FrameworkRichTextComposition.cs
- ParserExtension.cs
- RegexCharClass.cs
- ReflectTypeDescriptionProvider.cs
- RegexRunnerFactory.cs
- ControlsConfig.cs
- SemaphoreFullException.cs
- SymmetricKeyWrap.cs
- ProjectionCamera.cs
- WebPartZoneCollection.cs
- WebPartUserCapability.cs
- OpenFileDialog.cs
- CompilationRelaxations.cs
- DynamicMethod.cs
- SharedStatics.cs
- ToolStrip.cs
- NonSerializedAttribute.cs
- TemplateParser.cs
- SafePEFileHandle.cs
- OrderingQueryOperator.cs
- BlurEffect.cs
- PackWebResponse.cs
- embossbitmapeffect.cs
- MimePart.cs
- DataSourceBooleanViewSchemaConverter.cs
- QilExpression.cs
- EncoderFallback.cs
- ScriptingSectionGroup.cs
- EntitySqlQueryCacheKey.cs
- WebPartConnectionsConfigureVerb.cs
- GenerateScriptTypeAttribute.cs