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 / ButtonInternal / CheckableControlBaseAdapter.cs / 1 / CheckableControlBaseAdapter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.ButtonInternal { using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Drawing.Text; using System.Windows.Forms; ////// Common class for RadioButtonBaseAdapter and CheckBoxBaseAdapter /// internal abstract class CheckableControlBaseAdapter : ButtonBaseAdapter { private const int standardCheckSize = 13; private ButtonBaseAdapter buttonAdapter; internal CheckableControlBaseAdapter(ButtonBase control) : base(control) {} protected ButtonBaseAdapter ButtonAdapter { get { if (buttonAdapter == null) { buttonAdapter = CreateButtonAdapter(); } return buttonAdapter; } } internal override Size GetPreferredSizeCore(Size proposedSize) { if (Appearance == Appearance.Button) { return ButtonAdapter.GetPreferredSizeCore(proposedSize); } using (Graphics measurementGraphics = WindowsFormsUtils.CreateMeasurementGraphics()) { using (PaintEventArgs pe = new PaintEventArgs(measurementGraphics, new Rectangle())) { LayoutOptions options = Layout(pe); return options.GetPreferredSizeCore(proposedSize); } } } protected abstract ButtonBaseAdapter CreateButtonAdapter(); private Appearance Appearance { get { CheckBox checkBox = Control as CheckBox; if(checkBox != null) { return checkBox.Appearance; } RadioButton radioButton = Control as RadioButton; if(radioButton != null) { return radioButton.Appearance; } Debug.Fail("Unexpected control type '" + Control.GetType().FullName + "'"); return Appearance.Normal; } } internal override LayoutOptions CommonLayout() { LayoutOptions layout = base.CommonLayout(); layout.growBorderBy1PxWhenDefault = false; layout.borderSize = 0; layout.paddingSize = 0; layout.maxFocus = false; layout.focusOddEvenFixup = true; layout.checkSize = standardCheckSize; return layout; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms.ButtonInternal { using System; using System.Diagnostics; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; using System.Drawing.Text; using System.Windows.Forms; ////// Common class for RadioButtonBaseAdapter and CheckBoxBaseAdapter /// internal abstract class CheckableControlBaseAdapter : ButtonBaseAdapter { private const int standardCheckSize = 13; private ButtonBaseAdapter buttonAdapter; internal CheckableControlBaseAdapter(ButtonBase control) : base(control) {} protected ButtonBaseAdapter ButtonAdapter { get { if (buttonAdapter == null) { buttonAdapter = CreateButtonAdapter(); } return buttonAdapter; } } internal override Size GetPreferredSizeCore(Size proposedSize) { if (Appearance == Appearance.Button) { return ButtonAdapter.GetPreferredSizeCore(proposedSize); } using (Graphics measurementGraphics = WindowsFormsUtils.CreateMeasurementGraphics()) { using (PaintEventArgs pe = new PaintEventArgs(measurementGraphics, new Rectangle())) { LayoutOptions options = Layout(pe); return options.GetPreferredSizeCore(proposedSize); } } } protected abstract ButtonBaseAdapter CreateButtonAdapter(); private Appearance Appearance { get { CheckBox checkBox = Control as CheckBox; if(checkBox != null) { return checkBox.Appearance; } RadioButton radioButton = Control as RadioButton; if(radioButton != null) { return radioButton.Appearance; } Debug.Fail("Unexpected control type '" + Control.GetType().FullName + "'"); return Appearance.Normal; } } internal override LayoutOptions CommonLayout() { LayoutOptions layout = base.CommonLayout(); layout.growBorderBy1PxWhenDefault = false; layout.borderSize = 0; layout.paddingSize = 0; layout.maxFocus = false; layout.focusOddEvenFixup = true; layout.checkSize = standardCheckSize; return layout; } } } // 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
- ValidationError.cs
- Roles.cs
- MetadataUtil.cs
- PrtTicket_Public_Simple.cs
- ActivityInstanceMap.cs
- ContentPlaceHolder.cs
- StorageFunctionMapping.cs
- RawAppCommandInputReport.cs
- DataSourceCache.cs
- ControlAdapter.cs
- SQLChars.cs
- SspiSecurityTokenProvider.cs
- XmlDataContract.cs
- XmlChildEnumerator.cs
- Site.cs
- MulticastDelegate.cs
- ColorConverter.cs
- SettingsPropertyValueCollection.cs
- PrinterSettings.cs
- DocumentReferenceCollection.cs
- ProcessHostFactoryHelper.cs
- IdentitySection.cs
- RegexReplacement.cs
- PersonalizationEntry.cs
- InvokePatternIdentifiers.cs
- HiddenFieldPageStatePersister.cs
- DataBindingCollectionConverter.cs
- CompiledXpathExpr.cs
- CasesDictionary.cs
- EntityCollection.cs
- QuadraticBezierSegment.cs
- QueryOpeningEnumerator.cs
- StreamAsIStream.cs
- MgmtConfigurationRecord.cs
- LifetimeServices.cs
- BooleanExpr.cs
- LogSwitch.cs
- SchemaSetCompiler.cs
- Speller.cs
- StreamGeometryContext.cs
- PasswordPropertyTextAttribute.cs
- PackageProperties.cs
- SqlDataSourceCommandEventArgs.cs
- SqlProviderManifest.cs
- BitmapEffectGroup.cs
- ToolboxControl.cs
- ElementUtil.cs
- ChangeDirector.cs
- WorkflowQueueInfo.cs
- SingleStorage.cs
- TextContainerChangeEventArgs.cs
- BitmapCodecInfoInternal.cs
- validationstate.cs
- OptimizerPatterns.cs
- DependencyObjectProvider.cs
- CallContext.cs
- Ref.cs
- WebBrowsableAttribute.cs
- ObjectCloneHelper.cs
- AstNode.cs
- SendMailErrorEventArgs.cs
- SQLInt32.cs
- PageAction.cs
- BasicExpressionVisitor.cs
- VectorCollectionConverter.cs
- HtmlInputPassword.cs
- SHA1CryptoServiceProvider.cs
- Literal.cs
- InputScopeAttribute.cs
- sqlcontext.cs
- WebMessageFormatHelper.cs
- DoubleLinkList.cs
- DataFieldConverter.cs
- ContainerVisual.cs
- VirtualPathProvider.cs
- SapiRecoInterop.cs
- AssemblyBuilderData.cs
- BulletedList.cs
- BaseWebProxyFinder.cs
- UnsafeNativeMethods.cs
- WindowHideOrCloseTracker.cs
- TextMetrics.cs
- KeyGesture.cs
- ProfessionalColors.cs
- ServiceContractListItem.cs
- DiscoveryDocumentLinksPattern.cs
- MethodSet.cs
- HandlerWithFactory.cs
- SystemIcmpV4Statistics.cs
- KeyConstraint.cs
- IconConverter.cs
- WindowsToolbarAsMenu.cs
- GridViewRowCollection.cs
- XmlNavigatorFilter.cs
- SmiConnection.cs
- PageAsyncTaskManager.cs
- ClickablePoint.cs
- Animatable.cs
- XamlSerializationHelper.cs
- DBConnection.cs