We help IT Professionals succeed at work.

VB.Net - BackgroundWorker running multiple

Jimbo99999
Jimbo99999 asked
on
907 Views
Last Modified: 2017-04-04
Good Day Experts!

I have finally figured out and have my background worker operating properly.  I am not sure if there is a better way.  Can you confirm if I am doing this the best way?

My project is complete and I am adding the BGW after the fact.  

1) I put a transparent button on top of an existing button
2) On the click of the transparent button I start the BackgroundWorker
3) The BackgroundWorker DoWork contains the call to the original button click

I have 20-30 buttons I would like to utilize the BackgroundWorker on.  Is there a way to use one BackgroundWorker multiple times?  

This is my first attempt at using it and I appreciate your help.

Thanks,
jimbo99999
Comment
Watch Question

AndyAinscowFreelance programmer / Consultant
CERTIFIED EXPERT

Commented:
>>Is there a way to use one BackgroundWorker multiple times?  
To do the same task?


1) I put a transparent button on top of an existing button
2) On the click of the transparent button I start the BackgroundWorker
3) The BackgroundWorker DoWork contains the call to the original button click

Erm. Why not do the following
Click the original button and in there start the background worker and in the DoWork run the code that you currently have inside the button click event.  (Also if you have NOT coded your current method correctly you haven't gained any advantage of using a background worker.)
ste5anSenior Developer
CERTIFIED EXPERT
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION

Author

Commented:
Hello.  Thanks for responding.  The 20-30 buttons are on a tabControl with over 20 tabs.  The issue is either a data retrieval to a datagrid or the export to Excel from the datagrid takes a "long" time in User terms.  When this happens and they try to move the tabControl to get to other things on there desktop it leaves a white trail where it use to be.   So, with the background worker I was able to get rid of that behavior and make them more productive by being able to timeshare.

I was trying to not disturb the original functionality as best I can.  I was thinking with the transparent button over the original button
that has a standard naming convention(btnExcelOrderT) then I know the button under it is named btnExcelOrder). The would allow me to pass the name of the button to the DoWork of the Background worker then call the button click of the button.  I am trying to do this without having to add code or move the code of the button click to the DoWork of BGW.  

But it feels like this is not possible without making multiple BGW's.
AndyAinscowFreelance programmer / Consultant
CERTIFIED EXPERT

Commented:
Sounds like the answer to my question was 'no, different tasks'.
If that is the case then you code one BW per task.  

ps. I'd move the code into the DoWork function and not use transparent buttons.  Your design looks like using sticking plaster rather then fixing it properly.
CERTIFIED EXPERT
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions