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
- EncryptedXml.cs
- DictionaryChange.cs
- DefaultAsyncDataDispatcher.cs
- ExitEventArgs.cs
- SelectionGlyph.cs
- StateManagedCollection.cs
- Hash.cs
- BitmapMetadata.cs
- RectValueSerializer.cs
- UIAgentAsyncBeginRequest.cs
- _FtpControlStream.cs
- ReferenceEqualityComparer.cs
- ScrollPatternIdentifiers.cs
- WindowsListViewScroll.cs
- StatusBarDrawItemEvent.cs
- ProcessManager.cs
- UrlMappingCollection.cs
- RequestResizeEvent.cs
- TypeUtil.cs
- Cloud.cs
- StreamingContext.cs
- XPathNode.cs
- XamlTypeMapperSchemaContext.cs
- ContextMenuStrip.cs
- Operand.cs
- ParagraphVisual.cs
- OleDbErrorCollection.cs
- ReflectPropertyDescriptor.cs
- TouchDevice.cs
- InternalControlCollection.cs
- JapaneseCalendar.cs
- ConfigurationManager.cs
- SizeKeyFrameCollection.cs
- WebPartExportVerb.cs
- diagnosticsswitches.cs
- LayoutEngine.cs
- RangeValidator.cs
- ColorMap.cs
- RefreshEventArgs.cs
- ChannelCredentials.cs
- MediaElementAutomationPeer.cs
- WebPartExportVerb.cs
- InternalConfirm.cs
- TransformConverter.cs
- CategoryNameCollection.cs
- PerfService.cs
- ChineseLunisolarCalendar.cs
- DateTime.cs
- LineInfo.cs
- SplashScreen.cs
- ConnectionStringsSection.cs
- Point4DConverter.cs
- securitycriticaldataformultiplegetandset.cs
- RowToFieldTransformer.cs
- HtmlHead.cs
- StackSpiller.Temps.cs
- X509ScopedServiceCertificateElement.cs
- OrderedDictionary.cs
- RewritingValidator.cs
- GregorianCalendar.cs
- DrawingBrush.cs
- DataBindingHandlerAttribute.cs
- WebPartEditorOkVerb.cs
- WinCategoryAttribute.cs
- ConfigurationSchemaErrors.cs
- RealizationContext.cs
- ArcSegment.cs
- TraceContext.cs
- CodeCommentStatementCollection.cs
- SendActivityEventArgs.cs
- NetworkInterface.cs
- PartialArray.cs
- DataViewManagerListItemTypeDescriptor.cs
- ColorEditor.cs
- EntityException.cs
- Binding.cs
- InvokeMethodActivity.cs
- ConnectionPoint.cs
- ComponentDispatcher.cs
- MetadataWorkspace.cs
- GridViewUpdatedEventArgs.cs
- Page.cs
- TagNameToTypeMapper.cs
- LocalIdCollection.cs
- ClassicBorderDecorator.cs
- DelayLoadType.cs
- MethodBuilderInstantiation.cs
- FamilyMapCollection.cs
- ObjectItemCollection.cs
- Substitution.cs
- ReflectTypeDescriptionProvider.cs
- ClassImporter.cs
- TextBoxBase.cs
- ExceptionAggregator.cs
- RequestCacheValidator.cs
- ResourceReferenceKeyNotFoundException.cs
- SqlBooleanizer.cs
- StrokeDescriptor.cs
- SqlRecordBuffer.cs
- WindowsBrush.cs