WindowVisibilityEvents Interface

Tells whether ToolWindows are visible (hide or show). Use this object for functionality and refer to WindowVisibilityEventsClass for this object's documentation.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

[GuidAttribute("84DE07BC-43A2-4275-BCF9-D207D20E49ED")]
public interface WindowVisibilityEvents : _WindowVisibilityEvents, 
	_dispWindowVisibilityEvents_Event

The WindowVisibilityEvents type exposes the following members.

  NameDescription
Public methodadd_WindowHidingInfrastructure. Microsoft Internal Use Only. (Inherited from _dispWindowVisibilityEvents_Event.)
Public methodadd_WindowShowingInfrastructure. Microsoft Internal Use Only. (Inherited from _dispWindowVisibilityEvents_Event.)
Public methodremove_WindowHidingInfrastructure. Microsoft Internal Use Only. (Inherited from _dispWindowVisibilityEvents_Event.)
Public methodremove_WindowShowingInfrastructure. Microsoft Internal Use Only. (Inherited from _dispWindowVisibilityEvents_Event.)
Top

  NameDescription
Public eventWindowHidingInfrastructure. Microsoft Internal Use Only. (Inherited from _dispWindowVisibilityEvents_Event.)
Public eventWindowShowingInfrastructure. Microsoft Internal Use Only. (Inherited from _dispWindowVisibilityEvents_Event.)
Top

This example uses an add-in to connect WindowVisibilityEvents. Replace the code in Connect.vb or Connect.cs file with the example code below. Run this add-in and open and close the Command Window and the Output Window in the Visual Studio IDE to see event capturing methods in action. For more information on how to run the automation examples, see How to: Compile and Run the Automation Object Model Code Examples.

namespace CS_Events_Code
{
using System;
using Microsoft.VisualStudio.CommandBars;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
  public class Connect : Object, IDTExtensibility2
  {
   public Connect()
   {
   }
   public void OnConnection(object application, ext_ConnectMode
 connectMode, object addInInst, ref Array custom)
    {
    applicationObject = (DTE2)application;
    addInInstance = (AddIn)addInInst;
    EnvDTE80.Events2 events = (EnvDTE80.Events2
 )applicationObject.Events;
    windowsVisEvents = 
(EnvDTE80.WindowVisibilityEvents)events.get_WindowVisibilityEvents
(null);
    // Connect to each delegate exposed from the windows visibiliy 
    // events object retrieved above
    windowsVisEvents.WindowHiding +=new 
_dispWindowVisibilityEvents_WindowHidingEventHandler
(this.WindowHiding); 
    windowsVisEvents.WindowShowing +=new 
_dispWindowVisibilityEvents_WindowShowingEventHandler
(this.WindowShowing);
   }
   public void OnDisconnection(ext_DisconnectMode disconnectMode,
 ref Array custom)
   {
    if (windowsVisEvents != null)
    {
        windowsVisEvents.WindowHiding -= new 
_dispWindowVisibilityEvents_WindowHidingEventHandler
(this.WindowHiding);
       windowsVisEvents.WindowShowing -= new 
_dispWindowVisibilityEvents_WindowShowingEventHandler
(this.WindowShowing);
   }
   }
   public void OnAddInsUpdate(ref Array custom)
   {
   }
public void OnStartupComplete(ref Array custom)
   {
   }
public void OnBeginShutdown(ref Array custom)
   {
   }
private DTE2 applicationObject;
private AddIn addInInstance;
private EnvDTE80.WindowVisibilityEvents windowsVisEvents;
public void WindowHiding(EnvDTE.Window winRef)
   {
    MessageBox.Show("The window " + winRef.Caption + " is hiding.");
   }
public void WindowShowing(EnvDTE.Window winRef)
   {
    MessageBox.Show("The window " + winRef.Caption + " is showing.");
   }
  }
}
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft