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
- DataGridRow.cs
- BinaryNode.cs
- OdbcTransaction.cs
- CustomCredentialPolicy.cs
- ListBindingConverter.cs
- ScrollData.cs
- LinqTreeNodeEvaluator.cs
- Sql8ConformanceChecker.cs
- SwitchCase.cs
- SelectionWordBreaker.cs
- HiddenFieldPageStatePersister.cs
- ResourceExpressionBuilder.cs
- TheQuery.cs
- AttachedPropertyInfo.cs
- TrustSection.cs
- MarkupProperty.cs
- IPAddressCollection.cs
- BindingContext.cs
- HwndPanningFeedback.cs
- CellTreeNode.cs
- XsltException.cs
- AdCreatedEventArgs.cs
- WithStatement.cs
- ProxyAttribute.cs
- WeakEventManager.cs
- XmlAttributeOverrides.cs
- StructuredCompositeActivityDesigner.cs
- PropertiesTab.cs
- PolyQuadraticBezierSegment.cs
- CryptographicAttribute.cs
- RemotingException.cs
- PropertyCondition.cs
- HttpsChannelListener.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- StreamInfo.cs
- WindowsTokenRoleProvider.cs
- DataDocumentXPathNavigator.cs
- SchemaSetCompiler.cs
- AssociativeAggregationOperator.cs
- DataPagerFieldItem.cs
- ResolveMatchesApril2005.cs
- BindingCompleteEventArgs.cs
- X509ChainElement.cs
- DataServiceStreamProviderWrapper.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- NamedObject.cs
- RegisteredScript.cs
- RadioButton.cs
- DiscriminatorMap.cs
- _ContextAwareResult.cs
- TrustSection.cs
- DataBoundControl.cs
- XmlDataContract.cs
- ImportFileRequest.cs
- Tracking.cs
- Renderer.cs
- assemblycache.cs
- PartialArray.cs
- XmlJsonReader.cs
- streamingZipPartStream.cs
- SQLMembershipProvider.cs
- CommonXSendMessage.cs
- InitializingNewItemEventArgs.cs
- InvokeHandlers.cs
- ImageCodecInfoPrivate.cs
- IsolatedStorageFileStream.cs
- ListViewGroupConverter.cs
- NativeCppClassAttribute.cs
- KeyedCollection.cs
- MessageProperties.cs
- ServiceReference.cs
- SmtpReplyReaderFactory.cs
- CompositeControl.cs
- TypeUtils.cs
- ViewCellSlot.cs
- MessageEncodingBindingElementImporter.cs
- XsltArgumentList.cs
- TraceSource.cs
- FilterException.cs
- Schema.cs
- RecordsAffectedEventArgs.cs
- NumericPagerField.cs
- SecUtil.cs
- Trustee.cs
- LabelAutomationPeer.cs
- StyleTypedPropertyAttribute.cs
- EntityDataSourceContainerNameConverter.cs
- Request.cs
- Label.cs
- regiisutil.cs
- TextBlock.cs
- CodeSubDirectoriesCollection.cs
- BitSet.cs
- HttpRawResponse.cs
- IssuedTokenServiceCredential.cs
- IPeerNeighbor.cs
- InputLanguageProfileNotifySink.cs
- ClientOperationFormatterProvider.cs
- HostExecutionContextManager.cs
- FontStretch.cs