You'll need to create a server side trace that captures the events and columns of interest. You can create it it profiler and save it as a create script.
Your c# program can query the trace using the fn_trace_gettable() system function.
You'll want to pay careful attention to the setup of the rollover files in the trace definition. Filling up a disk drive isn't usually a good thing.