I’m developing a Windows application that:
- Connects to FTP and send/receive files
- Connects to a server via SSH and send commands
- Creating Excel report
- and some other stuff
All of these tasks start when the user click a button. The problem is that after clicking the button:
- Cursor turn into a hand icon
- window freezes and user can’t do anything (even moving it)
- Even the “Please Wait” animation doesn’t play and process log is barely shown

What should I do?
You need to do your work on a background thread. The easiest way to get started with background threads is the background worker.
When you do work on background threads you need to invoke onto the main thread if you want to update GUI components. The background worker has a Report Progress method which will allow you to do this.
Read up on the basics of threading and give it a shot. If you run into issues, come back and post a new question with specific code examples.