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
- DataGridPageChangedEventArgs.cs
- Label.cs
- StatusBarPanelClickEvent.cs
- HtmlMeta.cs
- SpecialNameAttribute.cs
- UrlRoutingHandler.cs
- SearchExpression.cs
- FormView.cs
- XmlAttributeOverrides.cs
- PublishLicense.cs
- XmlSerializationReader.cs
- ActivationServices.cs
- QuaternionConverter.cs
- LayoutEvent.cs
- Viewport3DVisual.cs
- DBCommand.cs
- TogglePattern.cs
- DataGridViewTopRowAccessibleObject.cs
- CustomErrorCollection.cs
- StatusBarItemAutomationPeer.cs
- BindableTemplateBuilder.cs
- FormViewUpdateEventArgs.cs
- TextOptions.cs
- ButtonColumn.cs
- SqlEnums.cs
- DropTarget.cs
- FreeFormDesigner.cs
- PermissionToken.cs
- GridViewSortEventArgs.cs
- IconConverter.cs
- SystemIcons.cs
- WhereQueryOperator.cs
- Decorator.cs
- NullReferenceException.cs
- EndpointNotFoundException.cs
- TemplateField.cs
- WebPartChrome.cs
- PolyBezierSegment.cs
- KeyManager.cs
- Mapping.cs
- SimpleApplicationHost.cs
- ParameterCollection.cs
- DependencyObjectPropertyDescriptor.cs
- ProcessHostMapPath.cs
- OdbcReferenceCollection.cs
- ItemChangedEventArgs.cs
- DataControlFieldHeaderCell.cs
- InheritanceContextHelper.cs
- Matrix3DConverter.cs
- EmbeddedMailObject.cs
- TimelineCollection.cs
- SchemaImporterExtensionElementCollection.cs
- ServiceManager.cs
- HorizontalAlignConverter.cs
- Help.cs
- Ray3DHitTestResult.cs
- QueueProcessor.cs
- DESCryptoServiceProvider.cs
- TypeGeneratedEventArgs.cs
- MULTI_QI.cs
- EntityCollectionChangedParams.cs
- DictionaryEntry.cs
- DocumentApplication.cs
- EventWaitHandle.cs
- JavaScriptString.cs
- PointCollection.cs
- GAC.cs
- CursorConverter.cs
- PropertyGeneratedEventArgs.cs
- CompilerTypeWithParams.cs
- PropertyGroupDescription.cs
- UriSectionData.cs
- GlyphingCache.cs
- LogLogRecordHeader.cs
- ClientEventManager.cs
- FormViewDeleteEventArgs.cs
- Translator.cs
- UnicodeEncoding.cs
- Relationship.cs
- MailDefinitionBodyFileNameEditor.cs
- StreamResourceInfo.cs
- HttpListenerRequest.cs
- OleDbTransaction.cs
- RawContentTypeMapper.cs
- TaskHelper.cs
- Utils.cs
- DataBinding.cs
- CustomServiceCredentials.cs
- WebPartZone.cs
- CharacterBufferReference.cs
- AssociationTypeEmitter.cs
- _TimerThread.cs
- Util.cs
- mil_commands.cs
- SamlSerializer.cs
- Application.cs
- RoleGroup.cs
- CellCreator.cs
- DataGridViewCellMouseEventArgs.cs
- SubstitutionDesigner.cs