//======================================================================================= // // This source code is only intended as a supplement to existing Microsoft documentation. // // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR // PURPOSE. // // Copyright (C) Microsoft Corporation. All Rights Reserved. // //======================================================================================= using System; using Microsoft.ManagementConsole; namespace Microsoft.ManagementConsole.Samples { /// /// User property page. /// public class UserPropertyPage : PropertyPage { private UserPropertiesControl userPropertiesControl = null; /// /// Constructor for the page. /// public UserPropertyPage() { // setup property page container stuff this.Title = "User Property Page"; // setup contained control and hand it a reference to its parent (This propertypage) userPropertiesControl = new UserPropertiesControl(this); this.Control = userPropertiesControl; } /// /// Initialize notification for the page. Default implementation is empty. /// protected override void OnInitialize() { base.OnInitialize(); // populate the contained control userPropertiesControl.RefreshData((ResultNode)this.ParentSheet.SelectionObject); } /// /// Sent to every page in the property sheet to indicate that the user has clicked /// the Apply button and wants all changes to take effect. /// protected override bool OnApply() { // does the control say the values are valid? if (this.Dirty) { if (userPropertiesControl.CanApplyChanges()) { // save changes userPropertiesControl.UpdateData((ResultNode)this.ParentSheet.SelectionObject); } else { // something invalid was entered return false; } } return true; } /// /// Sent to every page in the property sheet to indicate that the user has clicked the OK /// or Close button and wants all changes to take effect. /// protected override bool OnOK() { return this.OnApply(); } /// /// Indicates that the user wants to cancel the property sheet. /// Default implementation allows cancel operation. /// protected override bool QueryCancel() { return true; } /// /// Indicates that the user has canceled and the property sheet is about to be destroyed. /// All changes made since the last PSN_APPLY notification are canceled /// protected override void OnCancel() { userPropertiesControl.RefreshData((ResultNode)this.ParentSheet.SelectionObject); } /// /// Notifies a page that the property sheet is getting destoyed. /// Use this notification message as an opportunity to perform cleanup operations. /// protected override void OnDestroy() { } } // class } // namespace