If you are really really lazy and don't want to read the answer in my comment or redo the logic, you can perhaps modify your code like this (if this was your intent all along):
private void timer1_Tick(object sender, EventArgs e)
{
if (MouseButtons == MouseButtons.Left)
{
//Action...
}
if (MouseButtons == MouseButtons.Right)
{
//Action...
}
}
MouseButtons as in Control.MouseButtons
This is the method that is used to get the mouse button state within a timer_tick, with no need for a mouse click event, as per your request.
UPDATE Could you please mention what kind of timer are you using? They all have different behaviours and gotchas.
System.Windows.Forms.Timer, System.Timers.Timer and System.Threading.Timer.
I ask because sometimes there is an AutoReset property that you should set to true if you want more than one timer_tick to occur. I could be wrong, but this sounds like what you are describing, so it's worth a shot!
@Soenhay: I suspect that OP wanted to "loop and execute actions every t ticks" WHILE the mouse is held down. a.f.a.i.k. MouseClick triggers after MouseUp. You could modify the code to use MouseButtons (the static WinForms oddity) to check the state of the buttons.
@OP: Without you posting additional code, there is no way I see for anyone to help you further other than taking stabs in the dark with random code. Right now you have at least 3 examples similar to what you need, new knowledge about the static MouseButtons class, so I think you can and should take it from here or else you learn nothing!