Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWebControlsDesign / System / Data / WebControls / Design / Util / DesignerForm.cs / 1305376 / DesignerForm.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //----------------------------------------------------------------------------- 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; namespace System.Web.UI.Design.WebControls.Util { ////// 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 = UIHelper.GetDialogFont(ServiceProvider); if (dialogFont != null) { Font = dialogFont; } // Set RightToLeft mode based on resource file string rtlText = Strings.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; FormBorderStyle = FormBorderStyle.Sizable; SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show; StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; MinimumSize = Size; #if DEBUG _formInitialized = true; #endif } ////// Gets a service of the desired entitySetNameItem. 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CatalogPart.cs
- DataGridViewLayoutData.cs
- Region.cs
- LongValidator.cs
- StylusDevice.cs
- CapabilitiesRule.cs
- PrintDialogException.cs
- ScriptReference.cs
- TypedTableBaseExtensions.cs
- PageClientProxyGenerator.cs
- SynchronizedDispatch.cs
- EndpointNotFoundException.cs
- HtmlEncodedRawTextWriter.cs
- ModelFunctionTypeElement.cs
- ComplusEndpointConfigContainer.cs
- UiaCoreProviderApi.cs
- ConnectionProviderAttribute.cs
- DesignerWidgets.cs
- NativeMethods.cs
- Effect.cs
- TdsValueSetter.cs
- SyndicationCategory.cs
- PointValueSerializer.cs
- Function.cs
- RepeatInfo.cs
- httpapplicationstate.cs
- AnimationClockResource.cs
- OleDbStruct.cs
- HiddenField.cs
- VirtualizingPanel.cs
- Constant.cs
- ValidationErrorEventArgs.cs
- DataBindEngine.cs
- ErrorEventArgs.cs
- AddInControllerImpl.cs
- Viewport2DVisual3D.cs
- WebReference.cs
- ImportCatalogPart.cs
- DesignRelation.cs
- EventWaitHandleSecurity.cs
- StylusPointPropertyInfo.cs
- TransportContext.cs
- HwndProxyElementProvider.cs
- ToolStripItemRenderEventArgs.cs
- BufferModesCollection.cs
- UdpTransportBindingElement.cs
- WebPartEventArgs.cs
- SHA1Managed.cs
- ObjectKeyFrameCollection.cs
- Simplifier.cs
- CustomBindingElement.cs
- SetterBase.cs
- QilExpression.cs
- BroadcastEventHelper.cs
- StrokeNode.cs
- ParameterCollection.cs
- SchemaNotation.cs
- BasicExpressionVisitor.cs
- securitycriticaldataformultiplegetandset.cs
- wpf-etw.cs
- ListArgumentProvider.cs
- ControlDesigner.cs
- HttpModulesSection.cs
- HMACSHA512.cs
- BindingMAnagerBase.cs
- DbProviderFactories.cs
- TimeoutValidationAttribute.cs
- PointCollectionConverter.cs
- Queue.cs
- XmlSchemaRedefine.cs
- NullRuntimeConfig.cs
- PropertyConverter.cs
- SymbolTable.cs
- TextRangeBase.cs
- InvalidCommandTreeException.cs
- Image.cs
- FigureParaClient.cs
- ToolStripStatusLabel.cs
- CompiledQueryCacheEntry.cs
- SoapInteropTypes.cs
- WebPartTracker.cs
- BitmapEffectDrawingContextWalker.cs
- SafeFreeMibTable.cs
- XmlnsCompatibleWithAttribute.cs
- MatrixAnimationUsingPath.cs
- DisableDpiAwarenessAttribute.cs
- GradientBrush.cs
- Process.cs
- InputLanguageProfileNotifySink.cs
- UndirectedGraph.cs
- NativeMethods.cs
- WrapPanel.cs
- WebPartDescriptionCollection.cs
- DiscoveryProxy.cs
- XmlSerializationGeneratedCode.cs
- ExtendedProtectionPolicy.cs
- Preprocessor.cs
- EncoderExceptionFallback.cs
- AttributeEmitter.cs
- ListBox.cs