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
- RemotingConfiguration.cs
- ItemList.cs
- TemplateKey.cs
- ExpandableObjectConverter.cs
- Accessible.cs
- HtmlWindowCollection.cs
- CodeMemberMethod.cs
- ToolStripDropDownItem.cs
- MultiSelector.cs
- DecimalFormatter.cs
- LiteralControl.cs
- HuffModule.cs
- ComPlusTypeValidator.cs
- ImageAutomationPeer.cs
- InvalidCastException.cs
- OleAutBinder.cs
- XmlNamespaceManager.cs
- WorkItem.cs
- PrintDialog.cs
- CompositeActivityTypeDescriptor.cs
- PolyQuadraticBezierSegment.cs
- IntSecurity.cs
- AttributeProviderAttribute.cs
- RadialGradientBrush.cs
- ParallelRangeManager.cs
- TextTreeUndoUnit.cs
- FixedSOMTableCell.cs
- Bitmap.cs
- ComponentEditorForm.cs
- ColumnMapCopier.cs
- SchemaImporterExtensionsSection.cs
- DocumentApplicationJournalEntry.cs
- LocalizationComments.cs
- SmtpCommands.cs
- IncrementalReadDecoders.cs
- ConnectionPool.cs
- ProcessingInstructionAction.cs
- DetailsViewDeleteEventArgs.cs
- Win32Exception.cs
- TemplateColumn.cs
- DecryptRequest.cs
- TreeView.cs
- ReadWriteObjectLock.cs
- BitmapEffectInput.cs
- BindingList.cs
- PrintPageEvent.cs
- MetadataPropertyvalue.cs
- SmiSettersStream.cs
- TypeProvider.cs
- SingleQueryOperator.cs
- SamlEvidence.cs
- PerspectiveCamera.cs
- _SingleItemRequestCache.cs
- WebConfigurationFileMap.cs
- Visual3D.cs
- ProcessHostFactoryHelper.cs
- DecimalAnimationBase.cs
- FirstMatchCodeGroup.cs
- ResourceProviderFactory.cs
- AccessedThroughPropertyAttribute.cs
- InputProcessorProfilesLoader.cs
- RadialGradientBrush.cs
- PropagatorResult.cs
- PauseStoryboard.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- RowVisual.cs
- CopyOfAction.cs
- InputBuffer.cs
- MLangCodePageEncoding.cs
- SurrogateChar.cs
- rsa.cs
- SafeFreeMibTable.cs
- WindowsPrincipal.cs
- StrokeNodeEnumerator.cs
- WsatAdminException.cs
- httpapplicationstate.cs
- DeleteIndexBinder.cs
- ChangeInterceptorAttribute.cs
- SqlTypesSchemaImporter.cs
- RuntimeWrappedException.cs
- DependentList.cs
- ObjectListField.cs
- StrokeCollectionConverter.cs
- SqlReorderer.cs
- CellTreeNodeVisitors.cs
- DynamicScriptObject.cs
- StringAttributeCollection.cs
- Line.cs
- BindMarkupExtensionSerializer.cs
- ProcessHostConfigUtils.cs
- FamilyTypefaceCollection.cs
- WebPartMinimizeVerb.cs
- _TransmitFileOverlappedAsyncResult.cs
- InternalDuplexBindingElement.cs
- SqlServer2KCompatibilityAnnotation.cs
- TagPrefixInfo.cs
- SettingsPropertyValueCollection.cs
- PaperSize.cs
- FaultConverter.cs
- ValueSerializer.cs