Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / WinForms / Managed / System / WinForms / Button.cs / 1 / Button.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.Windows.Forms {
using System.Runtime.Serialization.Formatters;
using System.Runtime.Remoting;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System;
using System.Security.Permissions;
using System.Windows.Forms.ButtonInternal;
using System.ComponentModel.Design;
using System.ComponentModel;
using System.Windows.Forms.Layout;
using System.Drawing;
using System.Windows.Forms.Internal;
using Microsoft.Win32;
///
///
/// Represents a
/// Windows button.
///
[ComVisible(true),
ClassInterface(ClassInterfaceType.AutoDispatch),
SRDescription(SR.DescriptionButton),
Designer("System.Windows.Forms.Design.ButtonBaseDesigner, " + AssemblyRef.SystemDesign)
]
public class Button : ButtonBase, IButtonControl {
///
///
/// The dialog result that will be sent to the parent dialog form when
/// we are clicked.
///
private DialogResult dialogResult;
///
///
/// For buttons whose FaltStyle = FlatStyle.Flat, this property specifies the size, in pixels
/// of the border around the button.
///
private Size systemSize = new Size(Int32.MinValue, Int32.MinValue);
///
///
///
/// Initializes a new instance of the
/// class.
///
///
public Button() : base() {
// Buttons shouldn't respond to right clicks, so we need to do all our own click logic
SetStyle(ControlStyles.StandardClick |
ControlStyles.StandardDoubleClick,
false);
}
///
/// Allows the control to optionally shrink when AutoSize is true.
///
[
SRCategory(SR.CatLayout),
Browsable(true),
DefaultValue(AutoSizeMode.GrowOnly),
Localizable(true),
SRDescription(SR.ControlAutoSizeModeDescr)
]
public AutoSizeMode AutoSizeMode {
get {
return GetAutoSizeMode();
}
set {
if (!ClientUtils.IsEnumValid(value, (int)value, (int)AutoSizeMode.GrowAndShrink, (int)AutoSizeMode.GrowOnly)){
throw new InvalidEnumArgumentException("value", (int)value, typeof(AutoSizeMode));
}
if (GetAutoSizeMode() != value) {
SetAutoSizeMode(value);
if(ParentInternal != null) {
// DefaultLayout does not keep anchor information until it needs to. When
// AutoSize became a common property, we could no longer blindly call into
// DefaultLayout, so now we do a special InitLayout just for DefaultLayout.
if(ParentInternal.LayoutEngine == DefaultLayout.Instance) {
ParentInternal.LayoutEngine.InitLayout(this, BoundsSpecified.Size);
}
LayoutTransaction.DoLayout(ParentInternal, this, PropertyNames.AutoSize);
}
}
}
}
internal override ButtonBaseAdapter CreateFlatAdapter() {
return new ButtonFlatAdapter(this);
}
internal override ButtonBaseAdapter CreatePopupAdapter() {
return new ButtonPopupAdapter(this);
}
internal override ButtonBaseAdapter CreateStandardAdapter() {
return new ButtonStandardAdapter(this);
}
internal override Size GetPreferredSizeCore(Size proposedConstraints) {
if(FlatStyle != FlatStyle.System) {
Size prefSize = base.GetPreferredSizeCore(proposedConstraints);
return AutoSizeMode == AutoSizeMode.GrowAndShrink ? prefSize : LayoutUtils.UnionSizes(prefSize, Size);
}
if (systemSize.Width == Int32.MinValue) {
Size requiredSize;
// Note: The result from the BCM_GETIDEALSIZE message isn't accurate if the font has been
// changed, because this method is called before the font is set into the device context.
// Commenting this line is the fix for bug VSWhidbey#228843.
//if(UnsafeNativeMethods.SendMessage(hWnd, NativeMethods.BCM_GETIDEALSIZE, 0, size) != IntPtr.Zero) {
// requiredSize = size.ToSize(); ...
requiredSize = TextRenderer.MeasureText(this.Text, this.Font);
requiredSize = SizeFromClientSize(requiredSize);
// This padding makes FlatStyle.System about the same size as FlatStyle.Standard
// with an 8px font.
requiredSize.Width += 14;
requiredSize.Height += 9;
systemSize = requiredSize;
}
Size paddedSize = systemSize + Padding.Size;
return AutoSizeMode == AutoSizeMode.GrowAndShrink ? paddedSize : LayoutUtils.UnionSizes(paddedSize, Size);
}
///
///
///
///
/// This is called when creating a window. Inheriting classes can overide
/// this to add extra functionality, but should not forget to first call
/// base.CreateParams() to make sure the control continues to work
/// correctly.
///
///
///
protected override CreateParams CreateParams {
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
get {
CreateParams cp = base.CreateParams;
cp.ClassName = "BUTTON";
if (GetStyle(ControlStyles.UserPaint)) {
cp.Style |= NativeMethods.BS_OWNERDRAW;
}
else {
cp.Style |= NativeMethods.BS_PUSHBUTTON;
if (IsDefault) {
cp.Style |= NativeMethods.BS_DEFPUSHBUTTON;
}
}
return cp;
}
}
///
///
///
/// Gets or sets a value that is returned to the
/// parent form when the button
/// is clicked.
///
///
[
SRCategory(SR.CatBehavior),
DefaultValue(DialogResult.None),
SRDescription(SR.ButtonDialogResultDescr)
]
public virtual DialogResult DialogResult {
get {
return dialogResult;
}
set {
if (!ClientUtils.IsEnumValid(value, (int)value, (int)DialogResult.None, (int) DialogResult.No)) {
throw new InvalidEnumArgumentException("value", (int)value, typeof(DialogResult));
}
dialogResult = value;
}
}
///
///
///
///
/// Raises the event.
///
///
protected override void OnMouseEnter(EventArgs e) {
base.OnMouseEnter(e);
}
///
///
///
///
/// Raises the event.
///
///
protected override void OnMouseLeave(EventArgs e) {
base.OnMouseLeave(e);
}
///
///
[Browsable(false), EditorBrowsable(EditorBrowsableState.Advanced)]
public new event EventHandler DoubleClick {
add {
base.DoubleClick += value;
}
remove {
base.DoubleClick -= value;
}
}
///
///
[Browsable(false), EditorBrowsable(EditorBrowsableState.Advanced)]
public new event MouseEventHandler MouseDoubleClick {
add {
base.MouseDoubleClick += value;
}
remove {
base.MouseDoubleClick -= value;
}
}
///
///
///
/// Notifies the
/// whether it is the default button so that it can adjust its appearance
/// accordingly.
///
///
///
public virtual void NotifyDefault(bool value) {
if (IsDefault != value) {
IsDefault = value;
}
}
///
///
///
///
/// This method actually raises the Click event. Inheriting classes should
/// override this if they wish to be notified of a Click event. (This is far
/// preferable to actually adding an event handler.) They should not,
/// however, forget to call base.onClick(e); before exiting, to ensure that
/// other recipients do actually get the event.
///
///
///
protected override void OnClick(EventArgs e) {
Form form = FindFormInternal();
if (form != null) form.DialogResult = dialogResult;
// accessibility stuff
//
AccessibilityNotifyClients(AccessibleEvents.StateChange, -1);
AccessibilityNotifyClients(AccessibleEvents.NameChange, -1);
base.OnClick(e);
}
protected override void OnFontChanged(EventArgs e) {
systemSize = new Size(Int32.MinValue, Int32.MinValue);
base.OnFontChanged(e);
}
///
///
///
///
/// Raises the event.
///
///
///
protected override void OnMouseUp(MouseEventArgs mevent) {
if (mevent.Button == MouseButtons.Left && MouseIsPressed) {
bool isMouseDown = base.MouseIsDown;
if (GetStyle(ControlStyles.UserPaint)) {
//Paint in raised state...
ResetFlagsandPaint();
}
if (isMouseDown) {
Point pt = PointToScreen(new Point(mevent.X, mevent.Y));
if (UnsafeNativeMethods.WindowFromPoint(pt.X, pt.Y) == Handle && !ValidationCancelled) {
if (GetStyle(ControlStyles.UserPaint)) {
OnClick(mevent);
}
OnMouseClick(mevent);
}
}
}
base.OnMouseUp(mevent);
}
protected override void OnTextChanged(EventArgs e) {
systemSize = new Size(Int32.MinValue, Int32.MinValue);
base.OnTextChanged(e);
}
///
///
///
/// Generates a event for a
/// button.
///
///
public void PerformClick() {
if (CanSelect) {
bool validatedControlAllowsFocusChange;
bool validate = ValidateActiveControl(out validatedControlAllowsFocusChange);
if (!ValidationCancelled && (validate || validatedControlAllowsFocusChange))
{
//Paint in raised state...
//
ResetFlagsandPaint();
OnClick(EventArgs.Empty);
}
}
}
///
///
///
///
/// Lets a control process mnmemonic characters. Inheriting classes can
/// override this to add extra functionality, but should not forget to call
/// base.ProcessMnemonic(charCode); to ensure basic functionality
/// remains unchanged.
///
///
///
[UIPermission(SecurityAction.LinkDemand, Window=UIPermissionWindow.AllWindows)]
protected internal override bool ProcessMnemonic(char charCode) {
if (UseMnemonic && CanProcessMnemonic() && IsMnemonic(charCode, Text)) {
PerformClick();
return true;
}
return base.ProcessMnemonic(charCode);
}
///
///
///
///
/// Provides some interesting information for the Button control in
/// String form.
///
///
public override string ToString() {
string s = base.ToString();
return s + ", Text: " + Text;
}
///
///
/// The button's window procedure. Inheriting classes can override this
/// to add extra functionality, but should not forget to call
/// base.wndProc(m); to ensure the button continues to function properly.
///
///
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
protected override void WndProc(ref Message m) {
switch (m.Msg) {
case NativeMethods.WM_REFLECT + NativeMethods.WM_COMMAND:
if (NativeMethods.Util.HIWORD(m.WParam) == NativeMethods.BN_CLICKED) {
Debug.Assert(!GetStyle(ControlStyles.UserPaint), "Shouldn't get BN_CLICKED when UserPaint");
if (!ValidationCancelled) {
OnClick(EventArgs.Empty);
}
}
break;
case NativeMethods.WM_ERASEBKGND:
DefWndProc(ref m);
break;
default:
base.WndProc(ref m);
break;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
/*
*/
namespace System.Windows.Forms {
using System.Runtime.Serialization.Formatters;
using System.Runtime.Remoting;
using System.Runtime.InteropServices;
using System.Diagnostics;
using System;
using System.Security.Permissions;
using System.Windows.Forms.ButtonInternal;
using System.ComponentModel.Design;
using System.ComponentModel;
using System.Windows.Forms.Layout;
using System.Drawing;
using System.Windows.Forms.Internal;
using Microsoft.Win32;
///
///
/// Represents a
/// Windows button.
///
[ComVisible(true),
ClassInterface(ClassInterfaceType.AutoDispatch),
SRDescription(SR.DescriptionButton),
Designer("System.Windows.Forms.Design.ButtonBaseDesigner, " + AssemblyRef.SystemDesign)
]
public class Button : ButtonBase, IButtonControl {
///
///
/// The dialog result that will be sent to the parent dialog form when
/// we are clicked.
///
private DialogResult dialogResult;
///
///
/// For buttons whose FaltStyle = FlatStyle.Flat, this property specifies the size, in pixels
/// of the border around the button.
///
private Size systemSize = new Size(Int32.MinValue, Int32.MinValue);
///
///
///
/// Initializes a new instance of the
/// class.
///
///
public Button() : base() {
// Buttons shouldn't respond to right clicks, so we need to do all our own click logic
SetStyle(ControlStyles.StandardClick |
ControlStyles.StandardDoubleClick,
false);
}
///
/// Allows the control to optionally shrink when AutoSize is true.
///
[
SRCategory(SR.CatLayout),
Browsable(true),
DefaultValue(AutoSizeMode.GrowOnly),
Localizable(true),
SRDescription(SR.ControlAutoSizeModeDescr)
]
public AutoSizeMode AutoSizeMode {
get {
return GetAutoSizeMode();
}
set {
if (!ClientUtils.IsEnumValid(value, (int)value, (int)AutoSizeMode.GrowAndShrink, (int)AutoSizeMode.GrowOnly)){
throw new InvalidEnumArgumentException("value", (int)value, typeof(AutoSizeMode));
}
if (GetAutoSizeMode() != value) {
SetAutoSizeMode(value);
if(ParentInternal != null) {
// DefaultLayout does not keep anchor information until it needs to. When
// AutoSize became a common property, we could no longer blindly call into
// DefaultLayout, so now we do a special InitLayout just for DefaultLayout.
if(ParentInternal.LayoutEngine == DefaultLayout.Instance) {
ParentInternal.LayoutEngine.InitLayout(this, BoundsSpecified.Size);
}
LayoutTransaction.DoLayout(ParentInternal, this, PropertyNames.AutoSize);
}
}
}
}
internal override ButtonBaseAdapter CreateFlatAdapter() {
return new ButtonFlatAdapter(this);
}
internal override ButtonBaseAdapter CreatePopupAdapter() {
return new ButtonPopupAdapter(this);
}
internal override ButtonBaseAdapter CreateStandardAdapter() {
return new ButtonStandardAdapter(this);
}
internal override Size GetPreferredSizeCore(Size proposedConstraints) {
if(FlatStyle != FlatStyle.System) {
Size prefSize = base.GetPreferredSizeCore(proposedConstraints);
return AutoSizeMode == AutoSizeMode.GrowAndShrink ? prefSize : LayoutUtils.UnionSizes(prefSize, Size);
}
if (systemSize.Width == Int32.MinValue) {
Size requiredSize;
// Note: The result from the BCM_GETIDEALSIZE message isn't accurate if the font has been
// changed, because this method is called before the font is set into the device context.
// Commenting this line is the fix for bug VSWhidbey#228843.
//if(UnsafeNativeMethods.SendMessage(hWnd, NativeMethods.BCM_GETIDEALSIZE, 0, size) != IntPtr.Zero) {
// requiredSize = size.ToSize(); ...
requiredSize = TextRenderer.MeasureText(this.Text, this.Font);
requiredSize = SizeFromClientSize(requiredSize);
// This padding makes FlatStyle.System about the same size as FlatStyle.Standard
// with an 8px font.
requiredSize.Width += 14;
requiredSize.Height += 9;
systemSize = requiredSize;
}
Size paddedSize = systemSize + Padding.Size;
return AutoSizeMode == AutoSizeMode.GrowAndShrink ? paddedSize : LayoutUtils.UnionSizes(paddedSize, Size);
}
///
///
///
///
/// This is called when creating a window. Inheriting classes can overide
/// this to add extra functionality, but should not forget to first call
/// base.CreateParams() to make sure the control continues to work
/// correctly.
///
///
///
protected override CreateParams CreateParams {
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
get {
CreateParams cp = base.CreateParams;
cp.ClassName = "BUTTON";
if (GetStyle(ControlStyles.UserPaint)) {
cp.Style |= NativeMethods.BS_OWNERDRAW;
}
else {
cp.Style |= NativeMethods.BS_PUSHBUTTON;
if (IsDefault) {
cp.Style |= NativeMethods.BS_DEFPUSHBUTTON;
}
}
return cp;
}
}
///
///
///
/// Gets or sets a value that is returned to the
/// parent form when the button
/// is clicked.
///
///
[
SRCategory(SR.CatBehavior),
DefaultValue(DialogResult.None),
SRDescription(SR.ButtonDialogResultDescr)
]
public virtual DialogResult DialogResult {
get {
return dialogResult;
}
set {
if (!ClientUtils.IsEnumValid(value, (int)value, (int)DialogResult.None, (int) DialogResult.No)) {
throw new InvalidEnumArgumentException("value", (int)value, typeof(DialogResult));
}
dialogResult = value;
}
}
///
///
///
///
/// Raises the event.
///
///
protected override void OnMouseEnter(EventArgs e) {
base.OnMouseEnter(e);
}
///
///
///
///
/// Raises the event.
///
///
protected override void OnMouseLeave(EventArgs e) {
base.OnMouseLeave(e);
}
///
///
[Browsable(false), EditorBrowsable(EditorBrowsableState.Advanced)]
public new event EventHandler DoubleClick {
add {
base.DoubleClick += value;
}
remove {
base.DoubleClick -= value;
}
}
///
///
[Browsable(false), EditorBrowsable(EditorBrowsableState.Advanced)]
public new event MouseEventHandler MouseDoubleClick {
add {
base.MouseDoubleClick += value;
}
remove {
base.MouseDoubleClick -= value;
}
}
///
///
///
/// Notifies the
/// whether it is the default button so that it can adjust its appearance
/// accordingly.
///
///
///
public virtual void NotifyDefault(bool value) {
if (IsDefault != value) {
IsDefault = value;
}
}
///
///
///
///
/// This method actually raises the Click event. Inheriting classes should
/// override this if they wish to be notified of a Click event. (This is far
/// preferable to actually adding an event handler.) They should not,
/// however, forget to call base.onClick(e); before exiting, to ensure that
/// other recipients do actually get the event.
///
///
///
protected override void OnClick(EventArgs e) {
Form form = FindFormInternal();
if (form != null) form.DialogResult = dialogResult;
// accessibility stuff
//
AccessibilityNotifyClients(AccessibleEvents.StateChange, -1);
AccessibilityNotifyClients(AccessibleEvents.NameChange, -1);
base.OnClick(e);
}
protected override void OnFontChanged(EventArgs e) {
systemSize = new Size(Int32.MinValue, Int32.MinValue);
base.OnFontChanged(e);
}
///
///
///
///
/// Raises the event.
///
///
///
protected override void OnMouseUp(MouseEventArgs mevent) {
if (mevent.Button == MouseButtons.Left && MouseIsPressed) {
bool isMouseDown = base.MouseIsDown;
if (GetStyle(ControlStyles.UserPaint)) {
//Paint in raised state...
ResetFlagsandPaint();
}
if (isMouseDown) {
Point pt = PointToScreen(new Point(mevent.X, mevent.Y));
if (UnsafeNativeMethods.WindowFromPoint(pt.X, pt.Y) == Handle && !ValidationCancelled) {
if (GetStyle(ControlStyles.UserPaint)) {
OnClick(mevent);
}
OnMouseClick(mevent);
}
}
}
base.OnMouseUp(mevent);
}
protected override void OnTextChanged(EventArgs e) {
systemSize = new Size(Int32.MinValue, Int32.MinValue);
base.OnTextChanged(e);
}
///
///
///
/// Generates a event for a
/// button.
///
///
public void PerformClick() {
if (CanSelect) {
bool validatedControlAllowsFocusChange;
bool validate = ValidateActiveControl(out validatedControlAllowsFocusChange);
if (!ValidationCancelled && (validate || validatedControlAllowsFocusChange))
{
//Paint in raised state...
//
ResetFlagsandPaint();
OnClick(EventArgs.Empty);
}
}
}
///
///
///
///
/// Lets a control process mnmemonic characters. Inheriting classes can
/// override this to add extra functionality, but should not forget to call
/// base.ProcessMnemonic(charCode); to ensure basic functionality
/// remains unchanged.
///
///
///
[UIPermission(SecurityAction.LinkDemand, Window=UIPermissionWindow.AllWindows)]
protected internal override bool ProcessMnemonic(char charCode) {
if (UseMnemonic && CanProcessMnemonic() && IsMnemonic(charCode, Text)) {
PerformClick();
return true;
}
return base.ProcessMnemonic(charCode);
}
///
///
///
///
/// Provides some interesting information for the Button control in
/// String form.
///
///
public override string ToString() {
string s = base.ToString();
return s + ", Text: " + Text;
}
///
///
/// The button's window procedure. Inheriting classes can override this
/// to add extra functionality, but should not forget to call
/// base.wndProc(m); to ensure the button continues to function properly.
///
///
[SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
protected override void WndProc(ref Message m) {
switch (m.Msg) {
case NativeMethods.WM_REFLECT + NativeMethods.WM_COMMAND:
if (NativeMethods.Util.HIWORD(m.WParam) == NativeMethods.BN_CLICKED) {
Debug.Assert(!GetStyle(ControlStyles.UserPaint), "Shouldn't get BN_CLICKED when UserPaint");
if (!ValidationCancelled) {
OnClick(EventArgs.Empty);
}
}
break;
case NativeMethods.WM_ERASEBKGND:
DefWndProc(ref m);
break;
default:
base.WndProc(ref m);
break;
}
}
}
}
// 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
- RepeatBehavior.cs
- XmlSchemaInferenceException.cs
- iisPickupDirectory.cs
- AvTraceDetails.cs
- RawTextInputReport.cs
- OleDbStruct.cs
- ClientConfigurationSystem.cs
- MethodBuilderInstantiation.cs
- Form.cs
- BatchParser.cs
- TokenFactoryCredential.cs
- SecurityContext.cs
- ModifierKeysValueSerializer.cs
- exports.cs
- SmtpNetworkElement.cs
- MenuScrollingVisibilityConverter.cs
- DataAdapter.cs
- StorageScalarPropertyMapping.cs
- BaseTemplateBuildProvider.cs
- RuleSettingsCollection.cs
- TableParagraph.cs
- OleDbMetaDataFactory.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- WindowsFormsSynchronizationContext.cs
- SizeAnimationClockResource.cs
- TransactionBehavior.cs
- Misc.cs
- VirtualDirectoryMappingCollection.cs
- ToolStripItemClickedEventArgs.cs
- WebDisplayNameAttribute.cs
- TemplatePagerField.cs
- MessageQueuePermissionEntry.cs
- ReliableOutputSessionChannel.cs
- CaseInsensitiveOrdinalStringComparer.cs
- DataFieldCollectionEditor.cs
- TextChange.cs
- altserialization.cs
- Component.cs
- VerticalAlignConverter.cs
- GeometryDrawing.cs
- ZipFileInfo.cs
- ActivitiesCollection.cs
- EnumMember.cs
- DynamicObject.cs
- SecurityHelper.cs
- MetadataArtifactLoaderResource.cs
- DataGridColumnCollectionEditor.cs
- BinHexEncoder.cs
- UpdateCompiler.cs
- uribuilder.cs
- AsyncResult.cs
- SqlDependencyUtils.cs
- LoginCancelEventArgs.cs
- HttpSysSettings.cs
- EnumerableCollectionView.cs
- EncoderParameter.cs
- EraserBehavior.cs
- ProcessHostServerConfig.cs
- DirectionalLight.cs
- OnOperation.cs
- HttpModuleAction.cs
- DiscoveryClientRequestChannel.cs
- OptionUsage.cs
- StructuralCache.cs
- NativeMethods.cs
- ListViewUpdateEventArgs.cs
- ClientEventManager.cs
- QilReference.cs
- ExpressionsCollectionConverter.cs
- DSACryptoServiceProvider.cs
- XmlSerializerNamespaces.cs
- EdgeModeValidation.cs
- DataGridViewCellEventArgs.cs
- WindowsTitleBar.cs
- DataPagerCommandEventArgs.cs
- ListSortDescriptionCollection.cs
- SchemaNames.cs
- Registry.cs
- DataFormats.cs
- TreeView.cs
- SoapIncludeAttribute.cs
- StagingAreaInputItem.cs
- BrowserCapabilitiesCompiler.cs
- ProfileGroupSettings.cs
- WindowsListViewSubItem.cs
- DictionarySectionHandler.cs
- OracleCommand.cs
- QuaternionAnimation.cs
- WaitHandleCannotBeOpenedException.cs
- PolyBezierSegment.cs
- ExportException.cs
- _Win32.cs
- InfoCardCryptoHelper.cs
- NumberSubstitution.cs
- AppDomainFactory.cs
- CodeSpit.cs
- ThemeDictionaryExtension.cs
- HttpListenerException.cs
- XmlPreloadedResolver.cs
- Separator.cs