private void OnOpenReader(object source, RWEventArgs e) { if (outputBox.InvokeRequired) { // invoke to have the function call on the same thread as the reader object var d = new Reader.ReaderOpen(OnOpenReader); outputBox.Invoke(d, new object[] { source, e }); } else { // print out the reader's id and opening message Debug.WriteLine($"Opening reader."); outputBox.AppendText($"Reader {e.ID} Open.\n"); } }
private void OnCloseReader(object source, RWEventArgs e) { if (outputBox.InvokeRequired) { // invoke to have the function call on the same thread as the reader object var d = new Reader.ReaderClose(OnCloseReader); outputBox.Invoke(d, new object[] { source, e }); } else { // print out the reader's id and closing message Debug.WriteLine($"Closing reader."); outputBox.AppendText($"Reader {e.ID} Closed.\n"); queueProgressBar.Value = readers.Count; // update the queue size if (!refresh.Enabled) { refresh.Enabled = true; } } }