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
- TypefaceMetricsCache.cs
- ExpandCollapsePatternIdentifiers.cs
- securitycriticaldataClass.cs
- BlobPersonalizationState.cs
- IndentedWriter.cs
- MergeLocalizationDirectives.cs
- ADMembershipProvider.cs
- HttpRuntimeSection.cs
- ExecutionEngineException.cs
- WebServicesInteroperability.cs
- RootDesignerSerializerAttribute.cs
- CatalogZoneBase.cs
- Utils.cs
- HashLookup.cs
- XPathNavigator.cs
- SqlMetaData.cs
- DemultiplexingDispatchMessageFormatter.cs
- CategoryGridEntry.cs
- CurrencyWrapper.cs
- mda.cs
- OneToOneMappingSerializer.cs
- SecurityTimestamp.cs
- ClassDataContract.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- DataGridColumn.cs
- DbDataAdapter.cs
- TogglePatternIdentifiers.cs
- DataControlPagerLinkButton.cs
- ValidatedControlConverter.cs
- DuplicateWaitObjectException.cs
- QfeChecker.cs
- future.cs
- AdditionalEntityFunctions.cs
- Button.cs
- ImportContext.cs
- Control.cs
- XmlAutoDetectWriter.cs
- TdsParser.cs
- SafeTimerHandle.cs
- ListViewPagedDataSource.cs
- StylusDevice.cs
- TextSpanModifier.cs
- HostedImpersonationContext.cs
- PartitionResolver.cs
- Int64AnimationUsingKeyFrames.cs
- LayoutEngine.cs
- XpsViewerException.cs
- DbTransaction.cs
- HybridWebProxyFinder.cs
- Hashtable.cs
- SqlDependencyListener.cs
- XmlUtil.cs
- MethodToken.cs
- BitmapEffectOutputConnector.cs
- BadImageFormatException.cs
- XsltQilFactory.cs
- CharStorage.cs
- ExceptionHelpers.cs
- MsmqIntegrationMessageProperty.cs
- OperationAbortedException.cs
- TypeFieldSchema.cs
- ObjectDataSourceFilteringEventArgs.cs
- UIElement3D.cs
- JsonClassDataContract.cs
- StringDictionaryWithComparer.cs
- RoleGroup.cs
- ScaleTransform.cs
- RayMeshGeometry3DHitTestResult.cs
- PeerPresenceInfo.cs
- NumberSubstitution.cs
- updatecommandorderer.cs
- AdRotatorDesigner.cs
- CompilationSection.cs
- DataGridViewCellPaintingEventArgs.cs
- RoleServiceManager.cs
- SettingsContext.cs
- XPathPatternBuilder.cs
- TextRunTypographyProperties.cs
- FileDataSourceCache.cs
- SqlCacheDependency.cs
- DetailsViewUpdateEventArgs.cs
- LogRestartAreaEnumerator.cs
- CancelEventArgs.cs
- CommandField.cs
- TypeNameParser.cs
- AutomationPropertyInfo.cs
- PriorityBindingExpression.cs
- StateItem.cs
- KeyValueConfigurationCollection.cs
- OletxCommittableTransaction.cs
- OrderPreservingMergeHelper.cs
- CurrentChangingEventManager.cs
- SortedList.cs
- ResXResourceReader.cs
- HtmlElement.cs
- ControlValuePropertyAttribute.cs
- HybridDictionary.cs
- AspNetRouteServiceHttpHandler.cs
- SevenBitStream.cs
- QilGenerator.cs