• It has been awhile since I've done any VB.net, but don't you need a WithEvents variable?

    e.g.

    Dim WithEvents ev As New EventClass

    Sub TestEvents()

    ev.RaiseEvents()

    End Sub

    Sub ev_EventHandler() Handles ev.XEvent, ev.YEvent

    MsgBox("Received Event.")

    End Sub


    --EDIT--


    Also, I take it you've had a look at the Microsoft tutorial?

    <%@ Page language="VB" %>

    <script runat="server">

    Sub CustomersGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)

    ' Get the currently selected row using the SelectedRow property.

    Dim row As GridViewRow = CustomersGridView.SelectedRow

    ' Display the company name from the selected row.

    ' In this example, the third column (index 2) contains

    ' the company name.

    Message.Text = "You selected " & row.Cells(2).Text & "."

    End Sub

    Sub CustomersGridView_SelectedIndexChanging(ByVal sender As Object, ByVal e As GridViewSelectEventArgs)

    ' Get the currently selected row. Because the SelectedIndexChanging event

    ' occurs before the select operation in the GridView control, the

    ' SelectedRow property cannot be used. Instead, use the Rows collection

    ' and the NewSelectedIndex property of the e argument passed to this

    ' event handler.

    Dim row As GridViewRow = CustomersGridView.Rows(e.NewSelectedIndex)

    ' You can cancel the select operation by using the Cancel

    ' property. For this example, if the user selects a customer with

    ' the ID "ANATR", the select operation is canceled and an error message

    ' is displayed.

    If row.Cells(1).Text = "ANATR" Then

    e.Cancel = True

    Message.Text = "You cannot select " + row.Cells(2).Text & "."

    End If

    End Sub

    </script>

    <html>

    <body>

    <form runat="server">

    <h3>GridView Select Example</h3>

    <asp:gridview id="CustomersGridView"

    datasourceid="CustomersSource"

    autogeneratecolumns="true"

    autogenerateselectbutton="true"

    allowpaging="true"

    selectedindex="0"

    onselectedindexchanged="CustomersGridView_SelectedIndexChanged"

    onselectedindexchanging="CustomersGridView_SelectedIndexChanging"

    runat="server">

    <selectedrowstyle backcolor="LightCyan"

    forecolor="DarkBlue"

    font-bold="true"/>

    </asp:gridview>

    <br/>

    <asp:label id="Message"

    forecolor="Red"

    runat="server"/>

    <!-- This example uses Microsoft SQL Server and connects -->

    <!-- to the Northwind sample database. Use an ASP.NET -->

    <!-- expression to retrieve the connection string value -->

    <!-- from the Web.config file. -->

    <asp:sqldatasource id="CustomersSource"

    selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"

    connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"

    runat="server"/>

    </form>

    </body>

    </html>


    Forever trying to learn
    My blog - http://www.cadavre.co.uk/
    For better, quicker answers on T-SQL questions, click on the following...http://www.sqlservercentral.com/articles/Best+Practices/61537/
    For better, quicker answers on SQL Server performance related questions, click on the following...http://www.sqlservercentral.com/articles/SQLServerCentral/66909/