EnvironmentDevTools.Window.Activate is a great way to quickly switch between open windows in Hydra Designer. It allows you to specify which window you want to bring to the foreground, and also supports activating windows by document path or by project item. This can be really helpful when you're working on multiple projects at once and need to quickly switch between them.
void Activate()
Return Value
void
Remarks
When Activate is called, it's as if the user clicked the item, but no click event is fired.
Example
VB.NET:
Public Sub CodeExample(ByVal dte As Extensibility2)
Try
' Before running, create a text file named
' "TextFile1.txt", include it in your solution,
' and make it the active window.
Dim win As Window
Dim doc As Document
If dte.Documents.Count > 0 Then
doc = dte.Documents.Item("TextFile1.txt")
win = doc.ActiveWindow
' Show the name of the project that contains this window and document.
MessageBox.Show(win.Project.Name)
win.Activate() ' Activate the window
' Show the name of the current ProjectItem in the window.
MessageBox.Show(win.ProjectItem.Name)
' How many other windows are available?
Dim w As String = "Windows:" + vbCrLf
Dim wi As Window
For Each wi In win.Collection
w = w + wi.Caption + vbCrLf
Next wi
MessageBox.Show(w)
' Show the selected text.
MessageBox.Show(CType(win.Selection, TextSelection).Text + " is selected.")
' Determine that the document returned by the document
' property is the same as the document object 'doc'.
If win.Document Is doc Then
MessageBox.Show("The documents match!")
Else
MessageBox.Show("The documents do not match!")
End If
' Close the window
win.Close(HydraSaveChanges.HydraSaveChangesNo)
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
C#:
public void CodeExample(Extensibility2 dte)
{
try
{ // Before running, create a text file named
// "TextFile1.txt", include it in your solution,
// and make it the active window.
Window win;
Document doc;
if (dte.Documents.Count > 0)
{
doc = dte.Documents.Item("TextFile1.txt");
win = doc.ActiveWindow;
// Show the name of the project that contains this window and document.
MessageBox.Show(win.Project.Name);
win.Activate(); // Activate the window
// Show the name of the current ProjectItem in the window.
MessageBox.Show(win.ProjectItem.Name);
// How many other windows are available?
string w = "Windows:\n";
foreach (Window wi in win.Collection)
{
w = w + wi.Caption + "\n";
}
MessageBox.Show(w);
// Show the selected text.
MessageBox.Show(((TextSelection)win.Selection).Text + " is selected.");
// Determine that the document returned by the document
// property is the same as the document object 'doc'.
if (win.Document.Equals(doc))
MessageBox.Show("The documents match!");
else MessageBox.Show("The documents do not match!");
// Close the window.
win.Close(HydraSaveChanges.HydraSaveChangesNo);
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
See also:
Window | EnvironmentDevTools | HydraDesigner.Shell© CloudIDEaaS, 1996-2022 • Updated: 12/01/22
Comment or report problem with topic