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
- DateTimeValueSerializerContext.cs
- CheckBoxFlatAdapter.cs
- ScrollableControl.cs
- BindingContext.cs
- Separator.cs
- SBCSCodePageEncoding.cs
- TypeResolver.cs
- Lock.cs
- MailSettingsSection.cs
- LinqDataSourceValidationException.cs
- StrongNameKeyPair.cs
- MonitoringDescriptionAttribute.cs
- ArrayEditor.cs
- OleDbSchemaGuid.cs
- DependencyObjectProvider.cs
- XmlNamespaceManager.cs
- WriteFileContext.cs
- DropShadowBitmapEffect.cs
- SqlBulkCopy.cs
- SuppressIldasmAttribute.cs
- linebase.cs
- Vector3DAnimation.cs
- HostSecurityManager.cs
- OutputCacheSettingsSection.cs
- PropertyChangedEventManager.cs
- XmlSerializerVersionAttribute.cs
- XmlSchemaSimpleContent.cs
- Pens.cs
- Variable.cs
- StatementContext.cs
- MinimizableAttributeTypeConverter.cs
- SamlConditions.cs
- InputScopeManager.cs
- DispatcherTimer.cs
- SwitchCase.cs
- InvalidWMPVersionException.cs
- FixUpCollection.cs
- StringSource.cs
- SynchronizedPool.cs
- XPathSelectionIterator.cs
- CodeDOMUtility.cs
- FunctionImportMapping.cs
- ImpersonateTokenRef.cs
- ResXResourceReader.cs
- NameTable.cs
- HyperLinkStyle.cs
- PropertyReferenceSerializer.cs
- _LazyAsyncResult.cs
- RecognizerInfo.cs
- BindingExpression.cs
- ToolStripDropDownClosingEventArgs.cs
- PhysicalAddress.cs
- QueueProcessor.cs
- DomainUpDown.cs
- ReadOnlyObservableCollection.cs
- EmptyEnumerator.cs
- DragCompletedEventArgs.cs
- OutputCacheSettingsSection.cs
- ProcessManager.cs
- TextWriter.cs
- HideDisabledControlAdapter.cs
- WindowsToolbarAsMenu.cs
- QueryProcessor.cs
- EdmProperty.cs
- DataFormat.cs
- ManipulationInertiaStartingEventArgs.cs
- CustomErrorsSection.cs
- PasswordPropertyTextAttribute.cs
- QueryContext.cs
- DataServicePagingProviderWrapper.cs
- UserPersonalizationStateInfo.cs
- OleDbPropertySetGuid.cs
- NameTable.cs
- StringDictionary.cs
- ClientScriptItem.cs
- Types.cs
- VarRemapper.cs
- FontDifferentiator.cs
- Point3DCollectionConverter.cs
- Profiler.cs
- SecurityMessageProperty.cs
- ErrorProvider.cs
- XmlIncludeAttribute.cs
- BmpBitmapEncoder.cs
- QilVisitor.cs
- EdmError.cs
- cookiecontainer.cs
- StringResourceManager.cs
- DataGridSortCommandEventArgs.cs
- listitem.cs
- ReadOnlyDataSourceView.cs
- URI.cs
- GridViewSelectEventArgs.cs
- KeySpline.cs
- WindowsScrollBar.cs
- WebPartHelpVerb.cs
- XmlSchemaAnyAttribute.cs
- DbDataRecord.cs
- ZoneIdentityPermission.cs
- TemplatedEditableDesignerRegion.cs