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
- ServiceObjectContainer.cs
- TemplatedAdorner.cs
- ResolveNameEventArgs.cs
- IndependentAnimationStorage.cs
- AnonymousIdentificationSection.cs
- EditorPartCollection.cs
- ByteAnimation.cs
- ValueTypeFixupInfo.cs
- SecUtil.cs
- LoopExpression.cs
- ApplicationTrust.cs
- AccessControlEntry.cs
- ConnectionStringsExpressionBuilder.cs
- XsdDateTime.cs
- DirectoryLocalQuery.cs
- ContextMarshalException.cs
- GatewayIPAddressInformationCollection.cs
- TextRenderer.cs
- DocumentViewerConstants.cs
- InternalControlCollection.cs
- SrgsRulesCollection.cs
- TemplateControlCodeDomTreeGenerator.cs
- GifBitmapEncoder.cs
- SqlUDTStorage.cs
- MailHeaderInfo.cs
- Matrix3D.cs
- HyperLinkStyle.cs
- Win32.cs
- QilTargetType.cs
- PolyBezierSegment.cs
- DataPagerCommandEventArgs.cs
- login.cs
- MethodExpression.cs
- CodeStatement.cs
- XmlDocumentSerializer.cs
- ICspAsymmetricAlgorithm.cs
- SafeMILHandle.cs
- AdRotator.cs
- Blend.cs
- DesignUtil.cs
- NamespaceDecl.cs
- NTAccount.cs
- MatchingStyle.cs
- InternalRelationshipCollection.cs
- ProtocolsConfiguration.cs
- NativeMethodsCLR.cs
- DelegateSerializationHolder.cs
- StaticTextPointer.cs
- TextClipboardData.cs
- InstanceKeyCollisionException.cs
- MemberMaps.cs
- precedingsibling.cs
- IsolatedStorageFileStream.cs
- StylusPointCollection.cs
- DecimalConstantAttribute.cs
- DrawListViewColumnHeaderEventArgs.cs
- LabelAutomationPeer.cs
- DetailsViewInsertEventArgs.cs
- ElementNotEnabledException.cs
- KeyGestureConverter.cs
- TextCompositionManager.cs
- XmlAutoDetectWriter.cs
- ShaderEffect.cs
- NumberFormatter.cs
- RuntimeHandles.cs
- TypeUnloadedException.cs
- NumericUpDown.cs
- ConfigsHelper.cs
- ConfigurationSectionCollection.cs
- HuffCodec.cs
- SafeProcessHandle.cs
- SqlException.cs
- CustomPeerResolverService.cs
- AttributeCollection.cs
- Qualifier.cs
- WindowsListViewItem.cs
- IpcPort.cs
- DoubleAnimationUsingKeyFrames.cs
- ContextMenu.cs
- Properties.cs
- TypeInfo.cs
- AssemblyGen.cs
- OdbcConnectionFactory.cs
- WizardPanel.cs
- GridPattern.cs
- FontConverter.cs
- EncoderBestFitFallback.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- XmlSigningNodeWriter.cs
- SliderAutomationPeer.cs
- ComponentConverter.cs
- ElementsClipboardData.cs
- PolicyChain.cs
- InkPresenterAutomationPeer.cs
- Rules.cs
- _KerberosClient.cs
- SqlRowUpdatingEvent.cs
- ClipboardData.cs
- ErrorRuntimeConfig.cs
- DPCustomTypeDescriptor.cs