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
- SchemaCollectionPreprocessor.cs
- WeakReferenceEnumerator.cs
- sqlcontext.cs
- TabletCollection.cs
- MetadataArtifactLoaderFile.cs
- HandleCollector.cs
- ColumnReorderedEventArgs.cs
- TdsParserHelperClasses.cs
- StructuredType.cs
- StringDictionaryCodeDomSerializer.cs
- PerfCounters.cs
- CodeLinePragma.cs
- TableLayoutColumnStyleCollection.cs
- DataTableClearEvent.cs
- VolatileEnlistmentState.cs
- WebRequest.cs
- IndexedString.cs
- MiniParameterInfo.cs
- ToolStripItemEventArgs.cs
- SharedStream.cs
- TextBounds.cs
- ListControlDesigner.cs
- PropertyGrid.cs
- keycontainerpermission.cs
- PointAnimationUsingPath.cs
- RSACryptoServiceProvider.cs
- ObjectSet.cs
- XmlDataImplementation.cs
- Grid.cs
- TextEditorCharacters.cs
- NativeMethods.cs
- FixedStringLookup.cs
- DocumentGridPage.cs
- MailMessageEventArgs.cs
- Application.cs
- XmlSchemaSimpleTypeRestriction.cs
- ReverseInheritProperty.cs
- ConfigXmlComment.cs
- InsufficientMemoryException.cs
- BulletChrome.cs
- GroupBoxRenderer.cs
- TaiwanLunisolarCalendar.cs
- SqlBulkCopyColumnMapping.cs
- UrlAuthFailedErrorFormatter.cs
- SharedPerformanceCounter.cs
- ConfigurationSectionCollection.cs
- TokenBasedSetEnumerator.cs
- CookielessHelper.cs
- Privilege.cs
- XmlAttributes.cs
- DesignerSerializationManager.cs
- PriorityItem.cs
- AuthStoreRoleProvider.cs
- DataGridViewCellLinkedList.cs
- RoutedCommand.cs
- Cursors.cs
- ForeignKeyConstraint.cs
- XmlConverter.cs
- InstanceData.cs
- CodeGenerator.cs
- ColumnMapVisitor.cs
- ValueProviderWrapper.cs
- UnsafeNativeMethodsTablet.cs
- ApplicationCommands.cs
- AnonymousIdentificationSection.cs
- SqlSelectStatement.cs
- RowToParametersTransformer.cs
- ParallelTimeline.cs
- ConnectionsZoneAutoFormat.cs
- BitmapData.cs
- SafeLibraryHandle.cs
- TextSpanModifier.cs
- TreeViewImageIndexConverter.cs
- PropertyItem.cs
- ItemChangedEventArgs.cs
- SqlNodeAnnotations.cs
- RemoteCryptoTokenProvider.cs
- DefaultTraceListener.cs
- SqlFunctions.cs
- DataViewManagerListItemTypeDescriptor.cs
- ManagedFilter.cs
- XmlNodeList.cs
- Accessible.cs
- DataServiceResponse.cs
- ListViewTableRow.cs
- QuaternionKeyFrameCollection.cs
- TextWriterEngine.cs
- NoResizeSelectionBorderGlyph.cs
- GridViewColumn.cs
- LinqDataSourceInsertEventArgs.cs
- SQLMoneyStorage.cs
- TabletCollection.cs
- FileDialogPermission.cs
- IOException.cs
- OrderByLifter.cs
- CodeGotoStatement.cs
- ImageFormat.cs
- ApplyTemplatesAction.cs
- MediaContextNotificationWindow.cs
- ServicesExceptionNotHandledEventArgs.cs