protected void uxDocks_SelectedIndexChanged(object sender, EventArgs e) { // event fires if (DockSelect != null) { // get id from list var dockID = Convert.ToInt32(uxDocks.SelectedValue); // call manager var mgr = new MarinaManager(); // get course object var dock = mgr.GetSingleDock(dockID); Dock = dock; // instantiate event args var arg = new DockEventArgs { ID = dock.ID, eService = dock.ElectricalService, wService = dock.WaterService }; // pass args to event and invoke DockSelect.Invoke(this, arg); } }