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
- DesignTimeTemplateParser.cs
- AnchoredBlock.cs
- MethodInfo.cs
- NativeMethodsCLR.cs
- UserControlAutomationPeer.cs
- SettingsPropertyWrongTypeException.cs
- ArrangedElement.cs
- KeyedHashAlgorithm.cs
- RawStylusInputReport.cs
- CodeMethodReturnStatement.cs
- FormViewUpdatedEventArgs.cs
- DataGridViewSelectedCellCollection.cs
- XmlArrayItemAttributes.cs
- SyndicationFeedFormatter.cs
- UniqueConstraint.cs
- WebDisplayNameAttribute.cs
- AnnotationComponentManager.cs
- SharedConnectionWorkflowTransactionService.cs
- xmlglyphRunInfo.cs
- ConfigXmlDocument.cs
- EmbeddedObject.cs
- WebPartsSection.cs
- CollectionViewGroupRoot.cs
- UnsafeNativeMethodsMilCoreApi.cs
- ScriptReferenceBase.cs
- Rect.cs
- DataGridPageChangedEventArgs.cs
- XmlDocumentFragment.cs
- SQLDoubleStorage.cs
- IsolatedStorageFile.cs
- TrackingConditionCollection.cs
- QueuePathDialog.cs
- DynamicValidator.cs
- SystemUnicastIPAddressInformation.cs
- SystemUdpStatistics.cs
- TableAdapterManagerGenerator.cs
- BypassElementCollection.cs
- EarlyBoundInfo.cs
- XmlKeywords.cs
- BindingExpression.cs
- CodeGroup.cs
- loginstatus.cs
- JulianCalendar.cs
- SqlServer2KCompatibilityAnnotation.cs
- CellIdBoolean.cs
- XPathSingletonIterator.cs
- ResourceCodeDomSerializer.cs
- XmlSchemaExporter.cs
- SkipStoryboardToFill.cs
- AbstractExpressions.cs
- XmlObjectSerializerWriteContextComplex.cs
- CookieParameter.cs
- InvalidOperationException.cs
- DataGridViewCellCollection.cs
- CompoundFileIOPermission.cs
- EdmTypeAttribute.cs
- FrameworkTextComposition.cs
- OneToOneMappingSerializer.cs
- Point3D.cs
- SqlDataSourceCommandEventArgs.cs
- RadioButtonRenderer.cs
- CssTextWriter.cs
- AdornerDecorator.cs
- SchemeSettingElement.cs
- EffectiveValueEntry.cs
- TemplateControl.cs
- MaterialCollection.cs
- TouchDevice.cs
- MappingSource.cs
- VScrollBar.cs
- DataTemplate.cs
- XsdValidatingReader.cs
- TableCellCollection.cs
- CaseInsensitiveHashCodeProvider.cs
- XmlIncludeAttribute.cs
- ItemsPanelTemplate.cs
- ListSortDescription.cs
- ThicknessAnimationBase.cs
- ListenerConfig.cs
- GeneralTransform3DCollection.cs
- TrackingProfile.cs
- MetafileHeaderWmf.cs
- ManagementOptions.cs
- EntityTypeEmitter.cs
- IdlingCommunicationPool.cs
- DictionaryEditChange.cs
- ContentIterators.cs
- ListBox.cs
- MaskedTextBox.cs
- ConcatQueryOperator.cs
- AlternateView.cs
- TypeCodeDomSerializer.cs
- Style.cs
- FilterException.cs
- SqlFormatter.cs
- SettingsBindableAttribute.cs
- SimpleModelProvider.cs
- Color.cs
- ParameterBuilder.cs
- InsufficientMemoryException.cs