[dba-VB] What is EventArg?

jwcolby jwcolby at colbyconsulting.com
Fri Nov 19 12:58:42 CST 2010


As it happens, we have solved this problem.  The EventArgs class is used to create a new class which 
is descendant from this EventArgs class.  You then add your own properties that you need to pass back.

     public class DbExpEventArgs : EventArgs
     {
         public int recCount;
         public Exception ex;
         public SqlException exSql;
     }

RecCount, Ex and SQLEx are properties that I car about in this case.

Now I can create an instance of this class and fill in any of the properties, then pass this back to 
the event handler.

John W. Colby
www.ColbyConsulting.com

On 11/19/2010 12:02 PM, Gustav Brock wrote:
> Hi John
>
> As I've seen it, e returns a collection of properties (or values) from the event, but which is dependant on which object raised the event and what "type" the event was.
> I don't recall any methods, for example:
>
>          private string _nodeSelected;
>
> <snip>
>
>          private void TreeViewMenu_AfterSelect(object sender, TreeViewEventArgs e)
>          {
>              _nodeSelected = e.Node.Name;
>              Console.WriteLine(e.Node.Handle.ToString());
>          }
>
>          private void TreeViewMenu_KeyPress(object sender, KeyPressEventArgs e)
>          {
>              Console.WriteLine((string)"Key: " + _nodeSelected);
>              TreeViewAction();
>              // Avoid speaker "beep" for not found keyboard entries.
>              e.Handled = true;
>          }
>
> I often use "sender" to obtain the object in question without specifying its name:
>
>          private void dataTableEmployerDataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
>          {
>              DataGridView dataGridView = (DataGridView)sender;
>              DataGridViewCell cell = dataGridView[e.ColumnIndex, e.RowIndex];
>              if (cell.ColumnIndex.Equals(_columnIndexPassword))
>              {
>                  // Check if the new password contains invalid chars.
>                  string password = cell.Value.ToString().Replace(" ", "").Replace("\'", "").Replace("\"", "");
>                  if (password.Length == 0)
>                  {
>                      // Invalid chars found or password is of zero length.
>                      password = _password;
>                  }
>                  cell.Value = password;
>              }
>          }
>
> /gustav
>
>
>>>> jwcolby at colbyconsulting.com 19-11-2010 17:04:14>>>
> The MS "convention" is that an event method raises an event and passes out two parameters, one of
> which is EventArg e.
>
> What is e?
>
> I need to pass back status from the object raising the event and EventArgs seems like what I should
> be using to send back the status, but e has not methods for directly adding status like information.
>
> Am I supposed to create a status class and have it inherit (descend from) EventArgs?
>



More information about the dba-VB mailing list