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
- SecurityPolicySection.cs
- TextTreeRootTextBlock.cs
- Parameter.cs
- RuleSettingsCollection.cs
- Buffer.cs
- RequestQueue.cs
- PermissionAttributes.cs
- QueryContinueDragEvent.cs
- StoryFragments.cs
- SqlAggregateChecker.cs
- MachineKey.cs
- EraserBehavior.cs
- Module.cs
- RecordManager.cs
- TemplatedWizardStep.cs
- BorderGapMaskConverter.cs
- MenuCommand.cs
- RegexCaptureCollection.cs
- CultureData.cs
- DataBoundControlParameterTarget.cs
- KeyToListMap.cs
- ButtonBase.cs
- DbModificationCommandTree.cs
- InvokeBase.cs
- ThreadStartException.cs
- SqlInternalConnection.cs
- SetMemberBinder.cs
- SystemNetHelpers.cs
- SQLResource.cs
- DbMetaDataCollectionNames.cs
- SqlBulkCopyColumnMapping.cs
- RangeBaseAutomationPeer.cs
- CachedPathData.cs
- UserNamePasswordValidator.cs
- KeyEventArgs.cs
- TreeView.cs
- AddInPipelineAttributes.cs
- WhileDesigner.xaml.cs
- EllipticalNodeOperations.cs
- CaseInsensitiveComparer.cs
- CacheForPrimitiveTypes.cs
- HttpModulesSection.cs
- WebPartManagerInternals.cs
- DefaultTextStoreTextComposition.cs
- EntityDataSourceDesignerHelper.cs
- RegularExpressionValidator.cs
- SkinIDTypeConverter.cs
- PackUriHelper.cs
- ButtonFlatAdapter.cs
- TrueReadOnlyCollection.cs
- PrintPreviewControl.cs
- TripleDESCryptoServiceProvider.cs
- MsmqBindingFilter.cs
- ToolboxItemFilterAttribute.cs
- DataGridViewCellValueEventArgs.cs
- HwndKeyboardInputProvider.cs
- X509AsymmetricSecurityKey.cs
- XmlUTF8TextWriter.cs
- FontDifferentiator.cs
- RoleManagerModule.cs
- HostingEnvironment.cs
- ServicePoint.cs
- SEHException.cs
- RefreshEventArgs.cs
- BaseAddressElement.cs
- PolyQuadraticBezierSegment.cs
- SynthesizerStateChangedEventArgs.cs
- MessageSecurityOverHttpElement.cs
- SrgsToken.cs
- Bits.cs
- MessageQueue.cs
- FillRuleValidation.cs
- FocusManager.cs
- Workspace.cs
- XmlSchemaExporter.cs
- SiteMembershipCondition.cs
- PropertyFilter.cs
- DataGridClipboardHelper.cs
- ThreadStateException.cs
- Variable.cs
- ImageMap.cs
- BuildResult.cs
- ConfigurationSettings.cs
- BackStopAuthenticationModule.cs
- ToolStripPanelRenderEventArgs.cs
- SurrogateSelector.cs
- Timeline.cs
- RepeaterItemCollection.cs
- XsltFunctions.cs
- WebPartVerbCollection.cs
- TreeChangeInfo.cs
- PrimitiveOperationFormatter.cs
- WindowManager.cs
- GridView.cs
- ThrowHelper.cs
- XmlHierarchicalEnumerable.cs
- StandardCommandToolStripMenuItem.cs
- WindowsFormsHelpers.cs
- SchemaTypeEmitter.cs
- WebPartEditorCancelVerb.cs