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
- BuildProviderAppliesToAttribute.cs
- FixedLineResult.cs
- FlowDocumentReader.cs
- SafeHandle.cs
- DataGridView.cs
- Shape.cs
- LingerOption.cs
- SerializationException.cs
- AutomationFocusChangedEventArgs.cs
- SiteMapNode.cs
- NavigationCommands.cs
- GuidConverter.cs
- XmlSiteMapProvider.cs
- ThreadWorkerController.cs
- Maps.cs
- EpmTargetPathSegment.cs
- Serializer.cs
- ChannelServices.cs
- ToolStripPanel.cs
- SequenceQuery.cs
- ImageIndexEditor.cs
- ObjectDataSourceSelectingEventArgs.cs
- NullableConverter.cs
- WeakEventManager.cs
- shaperfactory.cs
- AppModelKnownContentFactory.cs
- ConfigurationValue.cs
- TextEditorDragDrop.cs
- RsaSecurityTokenParameters.cs
- ClientTargetSection.cs
- Int32Storage.cs
- TextEffectCollection.cs
- ValidationPropertyAttribute.cs
- JournalEntryStack.cs
- TdsParserStateObject.cs
- InternalSendMessage.cs
- MatchingStyle.cs
- StdValidatorsAndConverters.cs
- ResourceExpression.cs
- ToolstripProfessionalRenderer.cs
- ZoneIdentityPermission.cs
- FixedLineResult.cs
- Attachment.cs
- IdentitySection.cs
- TypeBrowserDialog.cs
- InstallerTypeAttribute.cs
- WebPartEditorApplyVerb.cs
- SignatureToken.cs
- DtdParser.cs
- AttributeAction.cs
- ListenDesigner.cs
- ResourcesGenerator.cs
- SrgsGrammarCompiler.cs
- OLEDB_Enum.cs
- FrameworkContextData.cs
- ConnectionsZone.cs
- StickyNoteContentControl.cs
- ValueProviderWrapper.cs
- XmlReader.cs
- TargetInvocationException.cs
- CheckBoxPopupAdapter.cs
- MenuItemStyle.cs
- AffineTransform3D.cs
- DivideByZeroException.cs
- DataServiceProcessingPipelineEventArgs.cs
- CheckBoxField.cs
- ScalarOps.cs
- _UriSyntax.cs
- TypeUnloadedException.cs
- TextServicesCompartmentContext.cs
- EventDescriptorCollection.cs
- TimeManager.cs
- MenuItemStyle.cs
- NameValueConfigurationElement.cs
- SecurityState.cs
- AssemblyBuilderData.cs
- FormsAuthenticationCredentials.cs
- TemplateNameScope.cs
- ScrollBar.cs
- HttpsHostedTransportConfiguration.cs
- ExceptionWrapper.cs
- UnionExpr.cs
- UnsafeNativeMethods.cs
- ProfileServiceManager.cs
- HyperlinkAutomationPeer.cs
- MimeXmlReflector.cs
- SymbolTable.cs
- CombinedGeometry.cs
- HttpVersion.cs
- RowsCopiedEventArgs.cs
- AnnotationHelper.cs
- PromptEventArgs.cs
- OutputScopeManager.cs
- DataTableCollection.cs
- XmlRootAttribute.cs
- DayRenderEvent.cs
- ExpandedWrapper.cs
- LinearGradientBrush.cs
- SafeCloseHandleCritical.cs
- DriveNotFoundException.cs