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
- PlainXmlSerializer.cs
- FormatConvertedBitmap.cs
- PbrsForward.cs
- StrokeNode.cs
- ScaleTransform.cs
- DispatcherExceptionEventArgs.cs
- XmlReaderSettings.cs
- XmlSchemaSimpleTypeUnion.cs
- TdsEnums.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- CodeDirectoryCompiler.cs
- FieldToken.cs
- IPCCacheManager.cs
- DbDataSourceEnumerator.cs
- xmlfixedPageInfo.cs
- Message.cs
- CustomError.cs
- EncryptedKey.cs
- TaiwanLunisolarCalendar.cs
- DetailsViewDeleteEventArgs.cs
- AstNode.cs
- SecurityRuntime.cs
- XmlQualifiedNameTest.cs
- VerificationException.cs
- BuildProvider.cs
- DesignerTransactionCloseEvent.cs
- StreamedWorkflowDefinitionContext.cs
- XpsColorContext.cs
- CfgParser.cs
- Guid.cs
- QilStrConcatenator.cs
- InvokeWebService.cs
- CommandHelper.cs
- XsltSettings.cs
- XmlDataSourceView.cs
- Comparer.cs
- DataListItemEventArgs.cs
- DerivedKeySecurityTokenStub.cs
- GuidelineCollection.cs
- CheckBox.cs
- ListenerElementsCollection.cs
- CharacterBufferReference.cs
- DetailsViewInsertedEventArgs.cs
- WebPartConnectionsDisconnectVerb.cs
- CodeObject.cs
- WebPartCancelEventArgs.cs
- DigitShape.cs
- ParseHttpDate.cs
- DnsCache.cs
- CacheDependency.cs
- SignatureGenerator.cs
- JsonObjectDataContract.cs
- AppDomainShutdownMonitor.cs
- IsolatedStorage.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- odbcmetadatafactory.cs
- RoutedEventValueSerializer.cs
- SharedRuntimeState.cs
- SqlDataSourceFilteringEventArgs.cs
- CompModSwitches.cs
- ErrorRuntimeConfig.cs
- HtmlImageAdapter.cs
- PrinterUnitConvert.cs
- MessageContractExporter.cs
- CompilationRelaxations.cs
- Site.cs
- EntityDataSourceQueryBuilder.cs
- Int32RectConverter.cs
- querybuilder.cs
- dataprotectionpermission.cs
- CreateParams.cs
- OdbcRowUpdatingEvent.cs
- odbcmetadatacollectionnames.cs
- odbcmetadatafactory.cs
- ProviderMetadataCachedInformation.cs
- NetNamedPipeSecurityMode.cs
- TraceInternal.cs
- SqlHelper.cs
- Encoder.cs
- Pkcs7Recipient.cs
- ListBoxItem.cs
- NameValueConfigurationCollection.cs
- PrePostDescendentsWalker.cs
- LoginNameDesigner.cs
- PrintPageEvent.cs
- XPathParser.cs
- BinaryUtilClasses.cs
- CleanUpVirtualizedItemEventArgs.cs
- EntityContainerEntitySet.cs
- ArithmeticLiteral.cs
- ToolStripDropDownButton.cs
- DataGridViewDataErrorEventArgs.cs
- CodeConstructor.cs
- CodePrimitiveExpression.cs
- GridLengthConverter.cs
- AnonymousIdentificationModule.cs
- ByteStreamGeometryContext.cs
- ProfessionalColors.cs
- BooleanConverter.cs
- DataGridViewCellMouseEventArgs.cs