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
- XmlSchemaComplexType.cs
- HttpCapabilitiesBase.cs
- RichTextBoxDesigner.cs
- StreamingContext.cs
- ListViewHitTestInfo.cs
- CharConverter.cs
- WpfXamlLoader.cs
- ManifestResourceInfo.cs
- ZoomingMessageFilter.cs
- Light.cs
- RouteParameter.cs
- XmlSerializerFaultFormatter.cs
- SimpleBitVector32.cs
- RoleGroup.cs
- WizardStepCollectionEditor.cs
- CacheVirtualItemsEvent.cs
- DelegateHelpers.Generated.cs
- PrintDialog.cs
- Vector3dCollection.cs
- SizeFConverter.cs
- SocketException.cs
- StringResourceManager.cs
- HatchBrush.cs
- PointAnimation.cs
- TimeSpanMinutesConverter.cs
- OdbcDataAdapter.cs
- Mutex.cs
- OdbcConnectionString.cs
- SecurityException.cs
- SyndicationDeserializer.cs
- UIAgentMonitor.cs
- Events.cs
- SafeNativeMethods.cs
- StylusButtonEventArgs.cs
- ApplicationDirectory.cs
- AbstractSvcMapFileLoader.cs
- SafePointer.cs
- MouseEventArgs.cs
- HtmlToClrEventProxy.cs
- MemoryRecordBuffer.cs
- NumberSubstitution.cs
- SharedHttpsTransportManager.cs
- WebSysDefaultValueAttribute.cs
- FontFamilyConverter.cs
- Message.cs
- TreeWalker.cs
- CngProvider.cs
- MetadataCollection.cs
- StreamingContext.cs
- FamilyCollection.cs
- CalendarDay.cs
- TextBlockAutomationPeer.cs
- VisualBrush.cs
- RoutedEvent.cs
- LabelEditEvent.cs
- PropertyCollection.cs
- TreeNodeSelectionProcessor.cs
- ToolStripDropDown.cs
- SelectionItemProviderWrapper.cs
- FileUtil.cs
- TextTreeUndo.cs
- ConnectionPoolManager.cs
- OdbcCommand.cs
- _Win32.cs
- Rotation3DAnimationBase.cs
- GridViewCommandEventArgs.cs
- InputScopeAttribute.cs
- Expressions.cs
- IndexerNameAttribute.cs
- SQLInt64Storage.cs
- CacheSection.cs
- SecurityUtils.cs
- ConnectionInterfaceCollection.cs
- SqlInternalConnectionSmi.cs
- DropSource.cs
- SqlCommand.cs
- ParameterBuilder.cs
- SplashScreenNativeMethods.cs
- Popup.cs
- ListViewUpdateEventArgs.cs
- SignatureResourcePool.cs
- Transaction.cs
- NavigationProperty.cs
- ClientTarget.cs
- StorageInfo.cs
- FunctionDescription.cs
- XPathNodeHelper.cs
- FontFamilyIdentifier.cs
- SRGSCompiler.cs
- Window.cs
- EntityStoreSchemaFilterEntry.cs
- TypeConverterAttribute.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- MexTcpBindingCollectionElement.cs
- FormViewUpdatedEventArgs.cs
- DataGridColumnsPage.cs
- ProxyManager.cs
- Subordinate.cs
- LocalizableResourceBuilder.cs
- TargetInvocationException.cs