I never worked in WPF before but recently i worked on it and delivered a successful product by using Material Design and MahaApps which are great WPF open source UI libraries. These libraries contains great UI controls here is a snapshot.
if you see on above image when mouse clicks on a control (button) it shows you a transparent circle which grows up and disappear gradually. So I just tried to replicate this bubble effect in WinForm desktop UI controls.
In order to get this functionality first of all we need to subscribe the Control Paint Event so we can paint transparent ellipse on it.
We need to identify the Point as origin of the ellipse where user clicked on it so I would subscribe Control Click Event. When user click on it we record the click point as origin and start painting ellipse repeatedly and gradually by increasing the radius of ellipse.
Timer is used to draw ellipse repeatedly to look like an animation.
here is the Timer Tick Event which invalidate the control , Every control has invalidate function which can be used to invoke Paint event of that control on demand.
These above three events plays important role so explained you in detail. Now i will encapsulate this functionality into a Component so we can re use it.
Now we have created a component with Name ClickEffect successfully. Once we build it we see it in VS tool Box like this
Now we will drop this newly created component on a form and bind Button control with this component by setting t its property like below
and finally you will get this result. You can download the complete solution from here