Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / WebForms / System / Web / UI / Design / Util / DesignerForm.cs / 1 / DesignerForm.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design.Util {
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Design;
using System.Diagnostics;
using System.Drawing;
using System.Globalization;
using System.Windows.Forms;
using System.Windows.Forms.Design;
/*
*/
///
/// Represents a form used by a designer.
///
internal abstract class DesignerForm : Form {
private const int SC_CONTEXTHELP = 0xF180;
private const int WM_SYSCOMMAND = 0x0112;
private IServiceProvider _serviceProvider;
private bool _firstActivate;
#if DEBUG
private bool _formInitialized;
#endif
///
/// Creates a new DesignerForm with a given service provider.
///
protected DesignerForm(IServiceProvider serviceProvider) {
Debug.Assert(serviceProvider != null);
_serviceProvider = serviceProvider;
_firstActivate = true;
}
///
/// The service provider for the form.
///
protected internal IServiceProvider ServiceProvider {
get {
return _serviceProvider;
}
}
///
/// Frees up resources.
///
protected override void Dispose(bool disposing) {
if (disposing) {
_serviceProvider = null;
}
base.Dispose(disposing);
}
protected void InitializeForm() {
Font dialogFont = UIServiceHelper.GetDialogFont(ServiceProvider);
if (dialogFont != null) {
Font = dialogFont;
}
// Set RightToLeft mode based on resource file
string rtlText = SR.GetString(SR.RTL);
if (!String.Equals(rtlText, "RTL_False", StringComparison.Ordinal)) {
RightToLeft = RightToLeft.Yes;
RightToLeftLayout = true;
}
#pragma warning disable 618
AutoScaleBaseSize = new System.Drawing.Size(5, 14);
#pragma warning restore 618
HelpButton = true;
MinimizeBox = false;
MaximizeBox = false;
ShowIcon = false;
ShowInTaskbar = false;
StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
#if DEBUG
_formInitialized = true;
#endif
}
///
/// Gets a service of the desired type. Returns null if the service does not exist or there is no service provider.
///
protected override object GetService(Type serviceType) {
if (_serviceProvider != null) {
return _serviceProvider.GetService(serviceType);
}
return null;
}
protected override void OnActivated(EventArgs e) {
base.OnActivated(e);
if (_firstActivate) {
_firstActivate = false;
OnInitialActivated(e);
}
}
///
/// Returns the help topic for the form. Consult with your UE contact on
/// what the appropriate help topic is for your dialog.
///
protected abstract string HelpTopic {
get;
}
protected sealed override void OnHelpRequested(HelpEventArgs hevent) {
ShowHelp();
hevent.Handled = true;
}
///
/// Raised upon first activation of the form.
///
///
protected virtual void OnInitialActivated(EventArgs e) {
#if DEBUG
Debug.Assert(_formInitialized, "All classes deriving from DesignerForm must call InitializeForm() from within InitializeComponent().");
#endif
}
///
/// Launches the help for this form.
///
private void ShowHelp() {
if (ServiceProvider != null) {
IHelpService helpService = (IHelpService)ServiceProvider.GetService(typeof(IHelpService));
if (helpService != null) {
helpService.ShowHelpFromKeyword(HelpTopic);
}
}
}
///
/// Overridden to reroute the context-help button to our own handler.
///
protected override void WndProc(ref Message m) {
if ((m.Msg == WM_SYSCOMMAND) && ((int)m.WParam == SC_CONTEXTHELP)) {
ShowHelp();
return;
}
else {
base.WndProc(ref m);
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UdpContractFilterBehavior.cs
- ResourceContainer.cs
- ThrowHelper.cs
- OdbcConnectionHandle.cs
- GeneralTransform2DTo3D.cs
- Mappings.cs
- EntityParameterCollection.cs
- XmlSchemaAnnotation.cs
- ClientOptions.cs
- ContextStaticAttribute.cs
- RunClient.cs
- ZoneLinkButton.cs
- WebProxyScriptElement.cs
- CacheDependency.cs
- Binding.cs
- ActivityMarkupSerializer.cs
- UIElementCollection.cs
- FindCriteriaApril2005.cs
- BooleanProjectedSlot.cs
- ListBindableAttribute.cs
- StyleTypedPropertyAttribute.cs
- Debug.cs
- SQLByte.cs
- DataShape.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- AVElementHelper.cs
- RoutedUICommand.cs
- Imaging.cs
- HttpModuleActionCollection.cs
- ErrorInfoXmlDocument.cs
- TextServicesContext.cs
- RotateTransform.cs
- EditorBrowsableAttribute.cs
- PointHitTestParameters.cs
- TextSpanModifier.cs
- EndpointIdentityConverter.cs
- AsyncStreamReader.cs
- OdbcConnectionString.cs
- Peer.cs
- SymLanguageType.cs
- ButtonBaseAdapter.cs
- LogEntrySerializer.cs
- QuadraticBezierSegment.cs
- DependencyObjectPropertyDescriptor.cs
- NotifyInputEventArgs.cs
- TextSpanModifier.cs
- Calendar.cs
- CodeSubDirectory.cs
- ListDictionaryInternal.cs
- DbDataSourceEnumerator.cs
- ToolboxCategoryItems.cs
- JpegBitmapDecoder.cs
- TextSelectionProcessor.cs
- ContainerUtilities.cs
- IRCollection.cs
- Dictionary.cs
- RoutedEvent.cs
- SimpleMailWebEventProvider.cs
- RelOps.cs
- ObjectMemberMapping.cs
- HttpDebugHandler.cs
- DetailsViewModeEventArgs.cs
- GridView.cs
- TypeUtils.cs
- AccessText.cs
- ExpressionConverter.cs
- OleStrCAMarshaler.cs
- MenuCommand.cs
- RawStylusInput.cs
- ExpressionNode.cs
- SafeProcessHandle.cs
- BitmapEffectrendercontext.cs
- BuildResult.cs
- SerializationSectionGroup.cs
- SchemaImporter.cs
- ModifierKeysConverter.cs
- SafeThemeHandle.cs
- XmlSchemaExporter.cs
- HtmlContainerControl.cs
- AdPostCacheSubstitution.cs
- ApplicationServicesHostFactory.cs
- XmlDataDocument.cs
- TextRunCache.cs
- Point3DCollection.cs
- X509SecurityTokenProvider.cs
- EntryWrittenEventArgs.cs
- SqlDataSource.cs
- XmlNodeComparer.cs
- WeakRefEnumerator.cs
- UrlAuthorizationModule.cs
- ServerType.cs
- AuthorizationSection.cs
- DataGridViewButtonCell.cs
- DataGridHeaderBorder.cs
- DBParameter.cs
- GetReadStreamResult.cs
- ElementProxy.cs
- WorkflowShape.cs
- StructuredProperty.cs
- PinProtectionHelper.cs