View.Deactivate Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Aparece cuando el control View activo actual se inactiva.
public:
event EventHandler ^ Deactivate;
public event EventHandler Deactivate;
member this.Deactivate : EventHandler
Public Custom Event Deactivate As EventHandler
Tipo de evento
Ejemplos
En el ejemplo de código siguiente se muestra cómo especificar y codificar un controlador de eventos para el Deactivate evento de un View control . Cuando cambia la vista activa, se muestra un mensaje al usuario que especifica el View control que generó el Activate evento y el View control que generó el Deactivate evento.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>View.Activate Event Example</title>
<script runat="server">
protected void Index_Changed(object sender, EventArgs e)
{
// Set the active view to
// the view selected by the user.
String str = ViewListBox.SelectedItem.Text;
switch (str)
{
case "DefaultView":
MultiView1.SetActiveView(DefaultView);
break;
case "NewsView":
MultiView1.SetActiveView(NewsView);
break;
case "ShoppingView":
MultiView1.SetActiveView(ShoppingView);
break;
}
}
// The handler for the DefaultView's Activate event.
protected void DefaultView_Activate(object sender, EventArgs e)
{
// Notify the user that the event was raised.
ActivateLabel.Text = "The Activate event was raised for the DefaultView.";
}
// The handler for the DefaultView's Deactivate event.
protected void DefaultView_Deactivate(object sender, EventArgs e)
{
// Notify the user that the event was raised.
DeactivateLabel.Text = "The Deactivate event was raised for the DefaultView.";
}
// The handler for the ShoppingView's Activate event.
protected void ShoppingView_Activate(object sender, EventArgs e)
{
// Notify the user that the event was raised.
ActivateLabel.Text = "The Activate event was raised for the ShoppingView.";
}
// The handler for the ShoppingView's Deactivate event.
protected void ShoppingView_Deactivate(object sender, EventArgs e)
{
// Notify the user that the event was raised.
DeactivateLabel.Text = "The Deactivate event was raised for the ShoppingView.";
}
// The handler for the NewsView's Activate event.
protected void NewsView_Activate(object sender, EventArgs e)
{
// Notify the user that the event was raised.
ActivateLabel.Text = "The Activate event was raised for the NewsView.";
}
// The handler for the NewsView's Deactivate event.
protected void NewsView_Deactivate(object sender, EventArgs e)
{
// Notify the user that the event was raised.
DeactivateLabel.Text = "The Deactivate event was raised for the NewsView.";
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
MultiView1.SetActiveView(DefaultView);
}
}
</script>
</head>
<body>
<form id="Form1" runat="server">
<h3>
View Activate and Deactivate Events Example</h3>
<h4>
Select a view to display in a MultiView control:</h4>
<asp:ListBox ID="ViewListBox" Rows="1" SelectionMode="Single" AutoPostBack="True"
OnSelectedIndexChanged="Index_Changed" runat="Server">
<asp:ListItem Value="0">DefaultView</asp:ListItem>
<asp:ListItem Value="1">NewsView</asp:ListItem>
<asp:ListItem Value="2">ShoppingView</asp:ListItem>
</asp:ListBox><br />
<br />
<hr />
<asp:MultiView ID="MultiView1" runat="Server">
<asp:View ID="DefaultView" OnActivate="DefaultView_Activate" OnDeactivate="DefaultView_Deactivate"
runat="Server">
<asp:Panel ID="DefaultPanel1" Width="250px" BackColor="#C0C0FF" BorderColor="#404040"
BorderStyle="Double" runat="Server">
<asp:Label ID="DefaultLabel1" Font-Bold="true" Font-Size="20" Text="The Default View"
runat="Server" AssociatedControlID="DefaultView">
</asp:Label>
</asp:Panel>
</asp:View>
<asp:View ID="NewsView" OnActivate="NewsView_Activate" OnDeactivate="NewsView_Deactivate"
runat="Server">
<asp:Panel ID="NewsPanel1" Width="250px" BackColor="#C0FFC0" BorderColor="#404040"
BorderStyle="Double" runat="Server">
<asp:Label ID="NewsLabel1" Font-Bold="true" Font-Size="20" Text="The News View" runat="Server"
AssociatedControlID="NewsView">
</asp:Label>
</asp:Panel>
</asp:View>
<asp:View ID="ShoppingView" OnActivate="ShoppingView_Activate" OnDeactivate="ShoppingView_Deactivate"
runat="Server">
<asp:Panel ID="ShoppingPanel1" Width="250px" BackColor="#FFFFC0" BorderColor="#404040"
BorderStyle="Double" runat="Server">
<asp:Label ID="ShoppingLabel1" Font-Bold="true" Font-Size="20" Text="The Shopping View"
runat="Server" AssociatedControlID="ShoppingView">
</asp:Label>
</asp:Panel>
</asp:View>
</asp:MultiView><br />
<br />
<asp:Label ID="ActivateLabel" BackColor="#ffff66" runat="Server">
</asp:Label><br />
<asp:Label ID="DeactivateLabel" BackColor="#ffff66" runat="Server">
</asp:Label>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>View.Activate Event Example</title>
<script runat="server">
Sub Index_Changed(ByVal Sender As Object, ByVal e As EventArgs)
' Set the active view to
' the view selected by the user.
Dim str As String = ViewListBox.SelectedItem.Text
Select Case (str)
Case "DefaultView"
MultiView1.SetActiveView(DefaultView)
Case "NewsView"
MultiView1.SetActiveView(NewsView)
Case "ShoppingView"
MultiView1.SetActiveView(ShoppingView)
End Select
End Sub
' The handler for the DefaultView's Activate event.
Sub DefaultView_Activate(ByVal sender As Object, ByVal e As EventArgs)
' Notify the user that the event was raised.
ActivateLabel.Text = "The Activate event was raised for the DefaultView."
End Sub
' The handler for the DefaultView's Deactivate event.
Sub DefaultView_Deactivate(ByVal sender As Object, ByVal e As EventArgs)
' Notify the user that the event was raised.
DeactivateLabel.Text = "The Deactivate event was raised for the DefaultView."
End Sub
' The handler for the ShoppingView's Activate event.
Sub ShoppingView_Activate(ByVal sender As Object, ByVal e As EventArgs)
' Notify the user that the event was raised.
ActivateLabel.Text = "The Activate event was raised for the ShoppingView."
End Sub
' The handler for the ShoppingView's Deactivate event.
Sub ShoppingView_Deactivate(ByVal sender As Object, ByVal e As EventArgs)
' Notify the user that the event was raised.
DeactivateLabel.Text = "The Deactivate event was raised for the ShoppingView."
End Sub
' The handler for the NewsView's Activate event.
Sub NewsView_Activate(ByVal sender As Object, ByVal e As EventArgs)
' Notify the user that the event was raised.
ActivateLabel.Text = "The Activate event was raised for the NewsView."
End Sub
' The handler for the NewsView's Deactivate event.
Sub NewsView_Deactivate(ByVal sender As Object, ByVal e As EventArgs)
' Notify the user that the event was raised.
DeactivateLabel.Text = "The Deactivate event was raised for the NewsView."
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Not (IsPostBack) Then
MultiView1.SetActiveView(DefaultView)
End If
End Sub
</script>
</head>
<body>
<form id="Form1" runat="server">
<h3>
View Activate and Deactivate Events Example</h3>
<h4>
Select a view to display in a MultiView control:</h4>
<asp:ListBox ID="ViewListBox" Rows="1" SelectionMode="Single" AutoPostBack="True"
OnSelectedIndexChanged="Index_Changed" runat="Server">
<asp:ListItem Value="0">DefaultView</asp:ListItem>
<asp:ListItem Value="1">NewsView</asp:ListItem>
<asp:ListItem Value="2">ShoppingView</asp:ListItem>
</asp:ListBox><br />
<br />
<hr />
<asp:MultiView ID="MultiView1" runat="Server">
<asp:View ID="DefaultView" OnActivate="DefaultView_Activate" OnDeactivate="DefaultView_Deactivate"
runat="Server">
<asp:Panel ID="DefaultPanel1" Width="250px" BackColor="#C0C0FF" BorderColor="#404040"
BorderStyle="Double" runat="Server">
<asp:Label ID="DefaultLabel1" Font-Bold="true" Font-Size="20" Text="The Default View"
runat="Server" AssociatedControlID="DefaultView">
</asp:Label>
</asp:Panel>
</asp:View>
<asp:View ID="NewsView" OnActivate="NewsView_Activate" OnDeactivate="NewsView_Deactivate"
runat="Server">
<asp:Panel ID="NewsPanel1" Width="250px" BackColor="#C0FFC0" BorderColor="#404040"
BorderStyle="Double" runat="Server">
<asp:Label ID="NewsLabel1" Font-Bold="true" Font-Size="20" Text="The News View" runat="Server"
AssociatedControlID="NewsView">
</asp:Label>
</asp:Panel>
</asp:View>
<asp:View ID="ShoppingView" OnActivate="ShoppingView_Activate" OnDeactivate="ShoppingView_Deactivate"
runat="Server">
<asp:Panel ID="ShoppingPanel1" Width="250px" BackColor="#FFFFC0" BorderColor="#404040"
BorderStyle="Double" runat="Server">
<asp:Label ID="ShoppingLabel1" Font-Bold="true" Font-Size="20" Text="The Shopping View"
runat="Server" AssociatedControlID="ShoppingView">
</asp:Label>
</asp:Panel>
</asp:View>
</asp:MultiView><br />
<br />
<asp:Label ID="ActivateLabel" BackColor="#ffff66" runat="Server">
</asp:Label><br />
<asp:Label ID="DeactivateLabel" BackColor="#ffff66" runat="Server">
</asp:Label>
</form>
</body>
</html>
Comentarios
El Deactivate evento se genera cuando el control activo View actual se vuelve inactivo. Un View control se vuelve inactivo cuando cambia el valor de la ActiveViewIndex propiedad o SetActiveView se llama al método para especificar un control diferente View . Por ejemplo, si View1
es la vista activa dentro de un MultiView control , cuando la ActiveViewIndex propiedad cambia para especificar View2
, el Deactivate evento se genera para View1
y el Activate evento se genera para View2
.