Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / WinForms / Managed / System / WinForms / DrawItemEvent.cs / 1 / DrawItemEvent.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Windows.Forms {
using System.Diagnostics;
using System;
using System.ComponentModel;
using System.Drawing;
using Microsoft.Win32;
///
///
/// This event is fired by owner draw Controls, such as ListBoxes and
/// ComboBoxes. It contains all the information needed for the user to
/// paint the given item, including the item index, the Rectangle in which
/// the drawing should be done, and the Graphics object with which the drawing
/// should be done.
///
public class DrawItemEventArgs : EventArgs {
///
///
/// The backColor to paint each menu item with.
///
private Color backColor;
///
///
/// The foreColor to paint each menu item with.
///
private Color foreColor;
///
///
/// The font used to draw the item's string.
///
private Font font;
///
///
/// The graphics object with which the drawing should be done.
///
private readonly System.Drawing.Graphics graphics;
///
///
/// The index of the item that should be painted.
///
private readonly int index;
///
///
/// The rectangle outlining the area in which the painting should be
/// done.
///
private readonly Rectangle rect;
///
///
/// Miscellaneous state information, such as whether the item is
/// "selected", "focused", or some other such information. ComboBoxes
/// have one special piece of information which indicates if the item
/// being painted is the editable portion of the ComboBox.
///
private readonly DrawItemState state;
///
///
/// Creates a new DrawItemEventArgs with the given parameters.
///
public DrawItemEventArgs(Graphics graphics, Font font, Rectangle rect,
int index, DrawItemState state) {
this.graphics = graphics;
this.font = font;
this.rect = rect;
this.index = index;
this.state = state;
this.foreColor = SystemColors.WindowText;
this.backColor = SystemColors.Window;
}
///
///
/// Creates a new DrawItemEventArgs with the given parameters, including the foreColor and backColor of the control.
///
public DrawItemEventArgs(Graphics graphics, Font font, Rectangle rect,
int index, DrawItemState state, Color foreColor, Color backColor) {
this.graphics = graphics;
this.font = font;
this.rect = rect;
this.index = index;
this.state = state;
this.foreColor = foreColor;
this.backColor = backColor;
}
///
public Color BackColor {
get {
if ((state & DrawItemState.Selected) == DrawItemState.Selected) {
return SystemColors.Highlight;
}
return backColor;
}
}
///
///
/// The rectangle outlining the area in which the painting should be
/// done.
///
public Rectangle Bounds {
get {
return rect;
}
}
///
///
/// A suggested font, usually the parent control's Font property.
///
public Font Font {
get {
return font;
}
}
///
///
/// A suggested color drawing: either SystemColors.WindowText or SystemColors.HighlightText,
/// depending on whether this item is selected.
///
public Color ForeColor {
get {
if ((state & DrawItemState.Selected) == DrawItemState.Selected) {
return SystemColors.HighlightText;
}
return foreColor;
}
}
///
///
/// Graphics object with which painting should be done.
///
public Graphics Graphics {
get {
return graphics;
}
}
///
///
/// The index of the item that should be painted.
///
public int Index {
get {
return index;
}
}
///
///
/// Miscellaneous state information, such as whether the item is
/// "selected", "focused", or some other such information. ComboBoxes
/// have one special piece of information which indicates if the item
/// being painted is the editable portion of the ComboBox.
///
public DrawItemState State {
get {
return state;
}
}
///
///
/// Draws the background of the given rectangle with the color returned from the BackColor property.
///
public virtual void DrawBackground() {
Brush backBrush = new SolidBrush(BackColor);
Graphics.FillRectangle(backBrush, rect);
backBrush.Dispose();
}
///
///
/// Draws a handy focus rect in the given rectangle.
///
public virtual void DrawFocusRectangle() {
if ((state & DrawItemState.Focus) == DrawItemState.Focus
&& (state & DrawItemState.NoFocusRect) != DrawItemState.NoFocusRect)
ControlPaint.DrawFocusRectangle(Graphics, rect, ForeColor, BackColor);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Windows.Forms {
using System.Diagnostics;
using System;
using System.ComponentModel;
using System.Drawing;
using Microsoft.Win32;
///
///
/// This event is fired by owner draw Controls, such as ListBoxes and
/// ComboBoxes. It contains all the information needed for the user to
/// paint the given item, including the item index, the Rectangle in which
/// the drawing should be done, and the Graphics object with which the drawing
/// should be done.
///
public class DrawItemEventArgs : EventArgs {
///
///
/// The backColor to paint each menu item with.
///
private Color backColor;
///
///
/// The foreColor to paint each menu item with.
///
private Color foreColor;
///
///
/// The font used to draw the item's string.
///
private Font font;
///
///
/// The graphics object with which the drawing should be done.
///
private readonly System.Drawing.Graphics graphics;
///
///
/// The index of the item that should be painted.
///
private readonly int index;
///
///
/// The rectangle outlining the area in which the painting should be
/// done.
///
private readonly Rectangle rect;
///
///
/// Miscellaneous state information, such as whether the item is
/// "selected", "focused", or some other such information. ComboBoxes
/// have one special piece of information which indicates if the item
/// being painted is the editable portion of the ComboBox.
///
private readonly DrawItemState state;
///
///
/// Creates a new DrawItemEventArgs with the given parameters.
///
public DrawItemEventArgs(Graphics graphics, Font font, Rectangle rect,
int index, DrawItemState state) {
this.graphics = graphics;
this.font = font;
this.rect = rect;
this.index = index;
this.state = state;
this.foreColor = SystemColors.WindowText;
this.backColor = SystemColors.Window;
}
///
///
/// Creates a new DrawItemEventArgs with the given parameters, including the foreColor and backColor of the control.
///
public DrawItemEventArgs(Graphics graphics, Font font, Rectangle rect,
int index, DrawItemState state, Color foreColor, Color backColor) {
this.graphics = graphics;
this.font = font;
this.rect = rect;
this.index = index;
this.state = state;
this.foreColor = foreColor;
this.backColor = backColor;
}
///
public Color BackColor {
get {
if ((state & DrawItemState.Selected) == DrawItemState.Selected) {
return SystemColors.Highlight;
}
return backColor;
}
}
///
///
/// The rectangle outlining the area in which the painting should be
/// done.
///
public Rectangle Bounds {
get {
return rect;
}
}
///
///
/// A suggested font, usually the parent control's Font property.
///
public Font Font {
get {
return font;
}
}
///
///
/// A suggested color drawing: either SystemColors.WindowText or SystemColors.HighlightText,
/// depending on whether this item is selected.
///
public Color ForeColor {
get {
if ((state & DrawItemState.Selected) == DrawItemState.Selected) {
return SystemColors.HighlightText;
}
return foreColor;
}
}
///
///
/// Graphics object with which painting should be done.
///
public Graphics Graphics {
get {
return graphics;
}
}
///
///
/// The index of the item that should be painted.
///
public int Index {
get {
return index;
}
}
///
///
/// Miscellaneous state information, such as whether the item is
/// "selected", "focused", or some other such information. ComboBoxes
/// have one special piece of information which indicates if the item
/// being painted is the editable portion of the ComboBox.
///
public DrawItemState State {
get {
return state;
}
}
///
///
/// Draws the background of the given rectangle with the color returned from the BackColor property.
///
public virtual void DrawBackground() {
Brush backBrush = new SolidBrush(BackColor);
Graphics.FillRectangle(backBrush, rect);
backBrush.Dispose();
}
///
///
/// Draws a handy focus rect in the given rectangle.
///
public virtual void DrawFocusRectangle() {
if ((state & DrawItemState.Focus) == DrawItemState.Focus
&& (state & DrawItemState.NoFocusRect) != DrawItemState.NoFocusRect)
ControlPaint.DrawFocusRectangle(Graphics, rect, ForeColor, BackColor);
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSchemaProviderAttribute.cs
- DataGridViewColumnTypeEditor.cs
- StatusBarPanelClickEvent.cs
- RequestResizeEvent.cs
- PersistenceTypeAttribute.cs
- WmlValidationSummaryAdapter.cs
- RootDesignerSerializerAttribute.cs
- Point3DAnimationBase.cs
- CustomSignedXml.cs
- Int32RectConverter.cs
- PerformanceCountersElement.cs
- sqlcontext.cs
- MouseOverProperty.cs
- BmpBitmapEncoder.cs
- GridLength.cs
- EventMappingSettings.cs
- ExpressionBuilder.cs
- GeneralTransform3DGroup.cs
- SizeIndependentAnimationStorage.cs
- NetStream.cs
- Int32AnimationUsingKeyFrames.cs
- LocalTransaction.cs
- RawStylusInput.cs
- AuthenticatingEventArgs.cs
- WebServiceEnumData.cs
- _HelperAsyncResults.cs
- base64Transforms.cs
- AudioFileOut.cs
- Binding.cs
- EnumValAlphaComparer.cs
- SoapServerProtocol.cs
- FlowDocument.cs
- HttpRuntimeSection.cs
- _AutoWebProxyScriptEngine.cs
- ImpersonateTokenRef.cs
- IFlowDocumentViewer.cs
- DataGridParentRows.cs
- ObsoleteAttribute.cs
- xmlsaver.cs
- Main.cs
- FastEncoderStatics.cs
- AlphabeticalEnumConverter.cs
- ValidationError.cs
- MatrixTransform3D.cs
- OleDbEnumerator.cs
- InvalidAsynchronousStateException.cs
- DataTableMapping.cs
- BitmapMetadataEnumerator.cs
- Transform3DGroup.cs
- FastEncoder.cs
- COAUTHIDENTITY.cs
- ServerIdentity.cs
- StrokeNode.cs
- AssemblyInfo.cs
- DrawingDrawingContext.cs
- BCryptNative.cs
- AdjustableArrowCap.cs
- SQLMembershipProvider.cs
- ModuleElement.cs
- HandoffBehavior.cs
- MsmqHostedTransportManager.cs
- ApplicationManager.cs
- CachedPathData.cs
- FixedSOMElement.cs
- HttpHandler.cs
- WebPartVerb.cs
- UnmanagedHandle.cs
- PingReply.cs
- EntityParameter.cs
- ResourceSetExpression.cs
- ConfigXmlWhitespace.cs
- ScriptModule.cs
- PathData.cs
- AttributeEmitter.cs
- TypefaceMetricsCache.cs
- GifBitmapEncoder.cs
- RequestBringIntoViewEventArgs.cs
- ScalarType.cs
- FusionWrap.cs
- DataGridItemEventArgs.cs
- ReceiveMessageContent.cs
- HttpServerChannel.cs
- OutputCacheSettingsSection.cs
- StringBlob.cs
- RegisteredDisposeScript.cs
- NeutralResourcesLanguageAttribute.cs
- GradientBrush.cs
- CompiledQueryCacheEntry.cs
- PropertyMappingExceptionEventArgs.cs
- TextDecorationCollectionConverter.cs
- ResizeBehavior.cs
- HttpWebResponse.cs
- CmsUtils.cs
- EventDescriptor.cs
- PropertyEmitter.cs
- ChameleonKey.cs
- WindowsAuthenticationModule.cs
- ServerValidateEventArgs.cs
- XamlStyleSerializer.cs
- BatchParser.cs