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
- GeneralTransform3D.cs
- TraceData.cs
- FontWeightConverter.cs
- HtmlInputControl.cs
- GeneralTransformGroup.cs
- NegotiationTokenAuthenticatorStateCache.cs
- _FtpControlStream.cs
- ServiceAuthorizationElement.cs
- HashJoinQueryOperatorEnumerator.cs
- XXXOnTypeBuilderInstantiation.cs
- ControlPager.cs
- RelOps.cs
- HttpHandlersSection.cs
- SamlDelegatingWriter.cs
- CopyOnWriteList.cs
- AttributeUsageAttribute.cs
- StoreAnnotationsMap.cs
- GcSettings.cs
- CompositeActivityMarkupSerializer.cs
- FontUnit.cs
- _UriTypeConverter.cs
- Pair.cs
- CertificateManager.cs
- HierarchicalDataSourceControl.cs
- RuleSettingsCollection.cs
- CryptoConfig.cs
- ToolStripDropDownMenu.cs
- ShaperBuffers.cs
- TabletDevice.cs
- CompositionAdorner.cs
- DataSetViewSchema.cs
- AssertSection.cs
- CodeThrowExceptionStatement.cs
- DBSqlParser.cs
- CloseSequence.cs
- CodeLinePragma.cs
- ExtractCollection.cs
- Point.cs
- BevelBitmapEffect.cs
- ImplicitInputBrush.cs
- Int64AnimationUsingKeyFrames.cs
- QuaternionRotation3D.cs
- Int64KeyFrameCollection.cs
- DotExpr.cs
- PathGradientBrush.cs
- CustomWebEventKey.cs
- RequestCacheValidator.cs
- DataServiceHost.cs
- ProxySimple.cs
- TextAction.cs
- DbDataSourceEnumerator.cs
- Inflater.cs
- RequestQueue.cs
- WindowsListViewGroupSubsetLink.cs
- DrawItemEvent.cs
- WebPartRestoreVerb.cs
- WebPartMinimizeVerb.cs
- HierarchicalDataBoundControlAdapter.cs
- TraceLevelStore.cs
- QilLoop.cs
- LogPolicy.cs
- TypeNameConverter.cs
- FixedDocumentSequencePaginator.cs
- SessionEndingEventArgs.cs
- UnsafeNativeMethods.cs
- ImmutableObjectAttribute.cs
- TraceInternal.cs
- regiisutil.cs
- Rethrow.cs
- ExpressionBuilder.cs
- HideDisabledControlAdapter.cs
- DesignTimeHTMLTextWriter.cs
- DataBoundControlAdapter.cs
- PreviewPageInfo.cs
- FrameworkObject.cs
- HttpApplicationFactory.cs
- SetState.cs
- StylusPointPropertyUnit.cs
- TextServicesLoader.cs
- TypeCacheManager.cs
- DoubleLink.cs
- ZipIOLocalFileBlock.cs
- ByteStorage.cs
- SqlWebEventProvider.cs
- NavigationEventArgs.cs
- TCPListener.cs
- PixelFormat.cs
- ChannelBinding.cs
- DataColumnCollection.cs
- ByteAnimation.cs
- BuildDependencySet.cs
- ResourceExpressionEditorSheet.cs
- EncodingDataItem.cs
- WebServicesSection.cs
- ToolStripPanelCell.cs
- DiscoveryOperationContext.cs
- DataServiceExpressionVisitor.cs
- FixedStringLookup.cs
- PrimarySelectionGlyph.cs
- DragDeltaEventArgs.cs