Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ExclusiveHandleList.cs
- ViewBase.cs
- TextSimpleMarkerProperties.cs
- UrlPropertyAttribute.cs
- UnknownMessageReceivedEventArgs.cs
- RectangleConverter.cs
- EntityDataSourceState.cs
- MetadataArtifactLoaderComposite.cs
- Point3DCollection.cs
- LayoutManager.cs
- ProbeMatchesMessageCD1.cs
- assemblycache.cs
- WSFederationHttpSecurityMode.cs
- UserNamePasswordValidationMode.cs
- ProfileGroupSettings.cs
- IntegerValidatorAttribute.cs
- RegistryConfigurationProvider.cs
- ConnectionStringsExpressionBuilder.cs
- ProfileGroupSettings.cs
- DynamicILGenerator.cs
- ResourceDictionary.cs
- DirectionalLight.cs
- ToolStripManager.cs
- ExpressionParser.cs
- LocalizeDesigner.cs
- XamlDesignerSerializationManager.cs
- ProfileModule.cs
- ClientViaElement.cs
- Screen.cs
- ToolboxItemAttribute.cs
- ListItemCollection.cs
- Pair.cs
- SqlBinder.cs
- TextBoxAutomationPeer.cs
- SharedDp.cs
- SmtpReplyReader.cs
- PageThemeCodeDomTreeGenerator.cs
- BitmapEffectGeneralTransform.cs
- AbsoluteQuery.cs
- AlternateViewCollection.cs
- XslTransformFileEditor.cs
- ErrorReporting.cs
- SimpleWebHandlerParser.cs
- SystemIPGlobalProperties.cs
- QueryPageSettingsEventArgs.cs
- ImageDesigner.cs
- OutputCacheProfileCollection.cs
- PathParser.cs
- FrameworkElementFactoryMarkupObject.cs
- TextShapeableCharacters.cs
- RichTextBox.cs
- QuestionEventArgs.cs
- CreateRefExpr.cs
- NativeMethods.cs
- SurrogateSelector.cs
- RowSpanVector.cs
- EnumBuilder.cs
- XmlSecureResolver.cs
- WebEncodingValidatorAttribute.cs
- MediaContext.cs
- DesignerUtils.cs
- TreeNodeBinding.cs
- PathFigureCollection.cs
- DataBoundControl.cs
- Rights.cs
- OleDbConnectionFactory.cs
- WebColorConverter.cs
- RowParagraph.cs
- ADMembershipProvider.cs
- PaperSource.cs
- PackageProperties.cs
- MdiWindowListItemConverter.cs
- ErrorHandler.cs
- VarRemapper.cs
- FormViewInsertedEventArgs.cs
- ListViewInsertedEventArgs.cs
- TableAutomationPeer.cs
- ScriptResourceHandler.cs
- GridLengthConverter.cs
- MultiPropertyDescriptorGridEntry.cs
- UrlMappingsSection.cs
- WbmpConverter.cs
- CatalogZone.cs
- CodeStatement.cs
- UpdatePanelTriggerCollection.cs
- webbrowsersite.cs
- coordinatorfactory.cs
- ListViewGroupConverter.cs
- CellTreeNodeVisitors.cs
- FontWeightConverter.cs
- XmlSchemaGroupRef.cs
- TextEditorParagraphs.cs
- LicenseContext.cs
- ValidationSummary.cs
- URIFormatException.cs
- DiagnosticsConfigurationHandler.cs
- MainMenu.cs
- SizeAnimation.cs
- propertytag.cs
- SignatureToken.cs