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
- OleDbSchemaGuid.cs
- XmlWhitespace.cs
- FixUpCollection.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- PropertyGrid.cs
- StructuredTypeEmitter.cs
- AssociationSetEnd.cs
- BitmapDecoder.cs
- DesignTimeType.cs
- ColorBlend.cs
- SoapIncludeAttribute.cs
- ProfilePropertySettingsCollection.cs
- Comparer.cs
- RedirectionProxy.cs
- NumberFunctions.cs
- ObsoleteAttribute.cs
- SettingsContext.cs
- NativeObjectSecurity.cs
- SectionVisual.cs
- CriticalHandle.cs
- SingleObjectCollection.cs
- Debug.cs
- BitmapCodecInfo.cs
- HtmlProps.cs
- SymbolTable.cs
- StringExpressionSet.cs
- ReflectionTypeLoadException.cs
- PolicyUtility.cs
- UTF8Encoding.cs
- uribuilder.cs
- EventLogSession.cs
- RayHitTestParameters.cs
- AssemblySettingAttributes.cs
- BitmapMetadataBlob.cs
- TreeViewBindingsEditor.cs
- DisposableCollectionWrapper.cs
- TextFormatter.cs
- IgnoreSectionHandler.cs
- GlyphElement.cs
- DtdParser.cs
- GradientStop.cs
- EventRecordWrittenEventArgs.cs
- IList.cs
- UnsafeCollabNativeMethods.cs
- DashStyles.cs
- DropShadowEffect.cs
- _TimerThread.cs
- validationstate.cs
- Currency.cs
- ProjectionAnalyzer.cs
- TextEndOfParagraph.cs
- UnicodeEncoding.cs
- HtmlHistory.cs
- SafeCertificateContext.cs
- PerformanceCounter.cs
- RtfToken.cs
- DecoderReplacementFallback.cs
- UrlAuthFailedErrorFormatter.cs
- DocumentGridContextMenu.cs
- ExistsInCollection.cs
- HashCryptoHandle.cs
- WebPartManagerInternals.cs
- RegexMatchCollection.cs
- AssociationTypeEmitter.cs
- MapPathBasedVirtualPathProvider.cs
- DataGridViewCellStyle.cs
- LinqToSqlWrapper.cs
- DrawingState.cs
- ToolZone.cs
- BinaryExpression.cs
- WithStatement.cs
- TemplateBuilder.cs
- ParameterElement.cs
- NativeActivityAbortContext.cs
- EntityWrapperFactory.cs
- DataBoundControlHelper.cs
- CatalogZone.cs
- InsufficientExecutionStackException.cs
- ListQueryResults.cs
- MouseBinding.cs
- Interfaces.cs
- InvalidateEvent.cs
- ViewStateException.cs
- DesignerForm.cs
- ConsoleCancelEventArgs.cs
- XmlSchemaSubstitutionGroup.cs
- Throw.cs
- DbConnectionPoolIdentity.cs
- AnimatedTypeHelpers.cs
- ImportOptions.cs
- FacetDescriptionElement.cs
- MessageQuerySet.cs
- AmbientEnvironment.cs
- mda.cs
- MethodBuilderInstantiation.cs
- NoResizeHandleGlyph.cs
- Regex.cs
- DisplayInformation.cs
- BitSet.cs
- ChangeBlockUndoRecord.cs