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
- designeractionlistschangedeventargs.cs
- PageEventArgs.cs
- securitycriticaldataClass.cs
- PropertyConverter.cs
- SupportingTokenSpecification.cs
- LayoutTable.cs
- FaultDescriptionCollection.cs
- Application.cs
- OutputWindow.cs
- controlskin.cs
- SourceElementsCollection.cs
- SelectionProcessor.cs
- ObjectDataSourceDisposingEventArgs.cs
- TransactionsSectionGroup.cs
- FontUnit.cs
- ImageSourceValueSerializer.cs
- PbrsForward.cs
- Zone.cs
- RenderTargetBitmap.cs
- ProxyHelper.cs
- AutoGeneratedFieldProperties.cs
- FormViewInsertEventArgs.cs
- DateTimeSerializationSection.cs
- DataTableMappingCollection.cs
- SemaphoreSecurity.cs
- WizardStepBase.cs
- ConfigurationStrings.cs
- TransactionFlowBindingElement.cs
- ColorPalette.cs
- TagPrefixInfo.cs
- ProjectionCamera.cs
- XmlAnyAttributeAttribute.cs
- MetricEntry.cs
- FillErrorEventArgs.cs
- DataServiceRequestOfT.cs
- DynamicActivityXamlReader.cs
- ClientUriBehavior.cs
- SynthesizerStateChangedEventArgs.cs
- IProducerConsumerCollection.cs
- TextLine.cs
- CacheOutputQuery.cs
- WindowsAuthenticationModule.cs
- TableChangeProcessor.cs
- WebFormDesignerActionService.cs
- ZipIOBlockManager.cs
- OLEDB_Enum.cs
- WebCategoryAttribute.cs
- StrokeDescriptor.cs
- TemplatedAdorner.cs
- DataGridColumn.cs
- BaseAsyncResult.cs
- ProtectedProviderSettings.cs
- RenameRuleObjectDialog.Designer.cs
- Mappings.cs
- Imaging.cs
- WasHttpModulesInstallComponent.cs
- TimersDescriptionAttribute.cs
- _NativeSSPI.cs
- RootBuilder.cs
- ColumnMapVisitor.cs
- BmpBitmapDecoder.cs
- CustomTokenProvider.cs
- Pen.cs
- MouseEvent.cs
- ToolStripDropDownDesigner.cs
- DataRecord.cs
- LeaseManager.cs
- GrammarBuilderPhrase.cs
- ViewDesigner.cs
- SQLString.cs
- LinkButton.cs
- NetworkAddressChange.cs
- PropertyDescriptorComparer.cs
- WebPartEventArgs.cs
- DataServiceExpressionVisitor.cs
- EditingScope.cs
- IChannel.cs
- ToolboxItem.cs
- QuestionEventArgs.cs
- CodeAttributeArgument.cs
- DataGridViewDataConnection.cs
- NullableIntSumAggregationOperator.cs
- DrawingCollection.cs
- ButtonBase.cs
- XsltException.cs
- SqlNotificationRequest.cs
- Composition.cs
- MembershipPasswordException.cs
- DynamicObjectAccessor.cs
- MLangCodePageEncoding.cs
- DataSourceControl.cs
- Cursors.cs
- FormatterConverter.cs
- DataTableClearEvent.cs
- DetailsViewModeEventArgs.cs
- ToolStripTextBox.cs
- UriScheme.cs
- Pen.cs
- TextBoxView.cs
- ZoomPercentageConverter.cs