Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / Util / HeaderPanel.cs / 1305376 / HeaderPanel.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.MobileControls.Util { using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; [ System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode) ] [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal class HeaderPanel : Panel { private int _recursionCount = 0; internal void RequestNewHeight(HeaderLabel header, int height) { int offset = height - header.Height; try { // This is a workaround for a RTB issue that causes their // algorithm to ---- up if OnContentsResize recurses. (Now // that HeaderLabel does not resize the text untill after // autoscaling, we do not seem to hit this, but just in case). // // On the first call the RTB guesses its best dimensions // for the given text. We correct the Width which may cause // a second recursive call to adjust the height. if(_recursionCount < 2) { _recursionCount++; header.Height = height; // foreach(Control child in Controls) { if(child.Top > header.Top) { child.Top += offset; } } for( Control controlIterator = this; controlIterator != null; controlIterator = controlIterator.Parent ) { controlIterator.Height += offset; } } else { Debug.Assert(offset == 0, "On 3rd recursive call offset is not yet stabalized." ); } } finally { _recursionCount = 0; } } protected override void OnSizeChanged(EventArgs e) { foreach(Control child in Controls) { if(child is HeaderLabel) { child.Width = Width; } } base.OnSizeChanged(e); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.MobileControls.Util { using System; using System.Diagnostics; using System.Drawing; using System.Windows.Forms; [ System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode) ] [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal class HeaderPanel : Panel { private int _recursionCount = 0; internal void RequestNewHeight(HeaderLabel header, int height) { int offset = height - header.Height; try { // This is a workaround for a RTB issue that causes their // algorithm to ---- up if OnContentsResize recurses. (Now // that HeaderLabel does not resize the text untill after // autoscaling, we do not seem to hit this, but just in case). // // On the first call the RTB guesses its best dimensions // for the given text. We correct the Width which may cause // a second recursive call to adjust the height. if(_recursionCount < 2) { _recursionCount++; header.Height = height; // foreach(Control child in Controls) { if(child.Top > header.Top) { child.Top += offset; } } for( Control controlIterator = this; controlIterator != null; controlIterator = controlIterator.Parent ) { controlIterator.Height += offset; } } else { Debug.Assert(offset == 0, "On 3rd recursive call offset is not yet stabalized." ); } } finally { _recursionCount = 0; } } protected override void OnSizeChanged(EventArgs e) { foreach(Control child in Controls) { if(child is HeaderLabel) { child.Width = Width; } } base.OnSizeChanged(e); } } } // 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
- EditingScope.cs
- HtmlPhoneCallAdapter.cs
- AssertSection.cs
- SingleAnimation.cs
- SelectedCellsChangedEventArgs.cs
- AsymmetricKeyExchangeDeformatter.cs
- PropertyBuilder.cs
- ElementHostPropertyMap.cs
- SelectionGlyphBase.cs
- DBCommand.cs
- RuntimeHelpers.cs
- ToolStripDropDownButton.cs
- AuthenticationServiceManager.cs
- BrowserDefinition.cs
- SurrogateChar.cs
- KeySpline.cs
- EntityContainerEntitySet.cs
- HtmlFormParameterWriter.cs
- WindowsImpersonationContext.cs
- SystemNetworkInterface.cs
- DataGridViewDataErrorEventArgs.cs
- RSAPKCS1SignatureDeformatter.cs
- RadioButtonRenderer.cs
- AdapterUtil.cs
- CqlParserHelpers.cs
- XhtmlBasicTextViewAdapter.cs
- SolidBrush.cs
- SoapSchemaMember.cs
- BitmapEffectRenderDataResource.cs
- NameSpaceExtractor.cs
- SequentialWorkflowHeaderFooter.cs
- TextRange.cs
- BitmapMetadataEnumerator.cs
- mactripleDES.cs
- ImageDrawing.cs
- DocumentPage.cs
- Typography.cs
- DeviceContext.cs
- FontDifferentiator.cs
- HtmlShimManager.cs
- WrapperEqualityComparer.cs
- FormViewModeEventArgs.cs
- ImageClickEventArgs.cs
- XPathNavigatorKeyComparer.cs
- SQLSingle.cs
- TableLayoutPanel.cs
- TextDecorationLocationValidation.cs
- ConfigurationElementCollection.cs
- EdmTypeAttribute.cs
- ConstrainedGroup.cs
- ElementHostAutomationPeer.cs
- TagPrefixInfo.cs
- GraphicsPath.cs
- FileDialogCustomPlace.cs
- OutputCacheSection.cs
- DispatcherSynchronizationContext.cs
- __ComObject.cs
- ServiceNameElement.cs
- ControlEvent.cs
- DataRecordInternal.cs
- WmpBitmapDecoder.cs
- MatrixAnimationUsingKeyFrames.cs
- NetworkInformationException.cs
- XmlBinaryReader.cs
- CoordinationService.cs
- FlagsAttribute.cs
- DateTimeConverter.cs
- ReflectTypeDescriptionProvider.cs
- RecordManager.cs
- ConnectionManagementSection.cs
- TextEditorThreadLocalStore.cs
- EntityUtil.cs
- HTMLTextWriter.cs
- DodSequenceMerge.cs
- WSDualHttpSecurity.cs
- XPathDescendantIterator.cs
- BlobPersonalizationState.cs
- SimpleHandlerBuildProvider.cs
- BinaryFormatterSinks.cs
- codemethodreferenceexpression.cs
- ToolStripArrowRenderEventArgs.cs
- FormViewDeleteEventArgs.cs
- XsdValidatingReader.cs
- ConditionCollection.cs
- ObjectComplexPropertyMapping.cs
- TextEditor.cs
- SerializationInfo.cs
- MetadataArtifactLoaderResource.cs
- HashRepartitionStream.cs
- ContentFileHelper.cs
- StateDesigner.Layouts.cs
- CacheHelper.cs
- ToolboxDataAttribute.cs
- ValuePattern.cs
- DataObjectAttribute.cs
- XmlCharType.cs
- KeyTimeConverter.cs
- _Semaphore.cs
- CodeConstructor.cs
- RangeExpression.cs