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
- NameValueSectionHandler.cs
- InkPresenterAutomationPeer.cs
- BitVector32.cs
- RegexWriter.cs
- OdbcCommand.cs
- PeerNameResolver.cs
- DesignerRegion.cs
- FontWeightConverter.cs
- DetailsViewDeleteEventArgs.cs
- TemplateKey.cs
- BeginStoryboard.cs
- CodeEventReferenceExpression.cs
- NavigationFailedEventArgs.cs
- CryptoApi.cs
- ProgressPage.cs
- FormsAuthenticationCredentials.cs
- SmtpLoginAuthenticationModule.cs
- LinkedResource.cs
- DataTemplateKey.cs
- TriggerCollection.cs
- SpeechSynthesizer.cs
- SignedXml.cs
- EntityTypeEmitter.cs
- MenuItemBinding.cs
- CapabilitiesUse.cs
- StrongNameUtility.cs
- LineSegment.cs
- MediaSystem.cs
- PathGeometry.cs
- RemotingConfiguration.cs
- EntitySetBase.cs
- RowUpdatingEventArgs.cs
- SiteMembershipCondition.cs
- AlternateView.cs
- WindowCollection.cs
- TextElementEditingBehaviorAttribute.cs
- CodeChecksumPragma.cs
- TileBrush.cs
- ItemsControl.cs
- UniqueIdentifierService.cs
- TraceLog.cs
- OnOperation.cs
- MaskInputRejectedEventArgs.cs
- DataRecordInternal.cs
- PreviewPrintController.cs
- DocumentOrderComparer.cs
- ArgIterator.cs
- LogicalExpressionTypeConverter.cs
- BitmapSourceSafeMILHandle.cs
- SqlXml.cs
- ClientProxyGenerator.cs
- sqlstateclientmanager.cs
- PageParser.cs
- SkewTransform.cs
- MergeLocalizationDirectives.cs
- DateTimeValueSerializerContext.cs
- SqlDataAdapter.cs
- __Filters.cs
- XmlSchemaImporter.cs
- Point3DIndependentAnimationStorage.cs
- GAC.cs
- WebResourceAttribute.cs
- EntitySet.cs
- GacUtil.cs
- SQLDecimal.cs
- InvalidateEvent.cs
- XmlAttributeCollection.cs
- _DomainName.cs
- XmlILOptimizerVisitor.cs
- FileChangesMonitor.cs
- PointUtil.cs
- ConstructorNeedsTagAttribute.cs
- WbmpConverter.cs
- RSAPKCS1SignatureDeformatter.cs
- DuplexChannel.cs
- DeclarativeCatalogPart.cs
- IisTraceListener.cs
- LeafCellTreeNode.cs
- SafeEventLogWriteHandle.cs
- ScrollData.cs
- ThemeDictionaryExtension.cs
- StatusBar.cs
- WebHttpSecurityElement.cs
- DataAdapter.cs
- LogicalChannelCollection.cs
- PkcsMisc.cs
- Vector3dCollection.cs
- TrackingRecordPreFilter.cs
- ValueTypeFixupInfo.cs
- VisualTreeUtils.cs
- HtmlTextViewAdapter.cs
- WindowsEditBox.cs
- XmlNodeList.cs
- AutomationFocusChangedEventArgs.cs
- SubqueryRules.cs
- XmlParserContext.cs
- VerticalAlignConverter.cs
- ChtmlSelectionListAdapter.cs
- CalendarKeyboardHelper.cs
- ColumnMapProcessor.cs