How to check if LeftClick is pressed C# - c#

I need to check if a user has left click being held anyone know how I would need to accomplish this?
I already tried messing around with System.Windows.Input but I couldn't figure it out
This is a windows forms app but I need it to work outside of the form I prefer a simpler answer

Alot of useful answers on Stack overflow.
Try this >> c# Detect mouse clicks anywhere (Inside and Outside the Form)
This should allow you to detect left clicks in or outside your program.
If you want an event for a control in your form, try the .Click event.

Related

Is there a way to visibly simulate a mouseclick with just a button itself?

I've seen here: How to make a button appear as if it is pressed? how to make a button in a winforms application look pressed (and that it stays pressed) in 2008.
In my application I travel a similar route there but what I'm trying to do is to get more a feel like a mouse has clicked the button. Thus it becomes pressed for a second and then unpressed again (just like with a regular mouse click).
What I'm wondering there is if in 2017+ that Checkbox Workaround is still the best Approach even for this route (and it Needs to be "checked" and "unchecked") or if there is a better approach there (thus also one possible with the button itself)?

Reassigning Windows default keyboard shortcuts in C#?

I'm re-asking this question because it was assumed the OP was talking about redefining the shortcut for Windows. I want to do it for my application. Several other similar questions exist but all the answers seem to miss the point.
I'm trying to assign a keyboard shortcut to 'space' in my C#/WPF application, pairing it to a "pause/continue" button. I'm currently trying to use a RoutedCommand similar to this answer. However, 'space' seems to be a default shortcut in Windows (or possibly C#) which re-clicks the last-clicked button. Which is great if the last button you pushed is the one I've tried to assign the shortcut to! But less great otherwise.
How can I remove the default use of 'space' to reserve it for use with my button?
Since the normal Button will capture the KeyDown event if it has focus your best bet might be to listen to the PreviewKeyDown event on the topmost level. In the eventhandler look for the Space key redirect this to Pause/Continue and Cancel the eventargs so it will not propagate to a KeyDown event to the currently focused button.

Log activity outside application

Maybe again incorrect question but:
I am trying to create an application which will log each user mouse click while running in background.
I managed to log each mouse click type (using Hook) but then i got a problem.
I need not only to log each click, but also to know what has been pressed and where.
I need to log second information also that what kind of object is pressed inside some application (button or checkbox and in which panel if it does exist, also object name), but I don't need to know what are those objects supposed to do.
So, is it possible to do with global hook help or are there some libraries which can help to make that?
EDIT:
Found that it should be easied it wpf application but but there are more problems with - how to make it log each clicked object, not only inside created wpf.

Using doubleclick to catch x,y coordinates outside of a form C#

I'm making a form application in C# and what I need is to able to capture x,y coordinates outside of the form when the user doubleclicks. I have not been able to find anything that can help me. I'm new to C# so I might be looking for the wrong thing. Any help would be appreciated.
Thanks,
This old MSDN blog has sample code for using WH_MOUSE_LL, a low-level mouse hook that you can use to capture mouse events in Windows. Mouse hooks do not distinguish double clicks however, you will need to do that yourself. You can use SystemInformation.DoubleClickTime and a timer to determine if the click was a double click or not.

Change default arrangement of Save and Cancel buttons in SaveFileDialog

I m coding in c# and I want to change the default arrangement of 'Save' and 'Cancel' buttons in SaveFileDialog. The default arrangement is that the 'Save' button is above the 'Cancel' button.
What I want is to place 'Cancel' button on the right hand side of the 'Save' button.
I searched over the web and found that the text on these buttons can be changed(to which the answer was on stackoverflow itself) and nothing found on changing their arrangements (locations).
Please give me a solution if any of you have experienced this so far....
thank you
Please don't do this.
The user is used to where these buttons appear. If you try to change their layout then you will just make you app feel wrong.
If you have to do this then should make sure you use the legacy file dialogs (which will make your dialogs look even more odd on Vista/7). Use the lpfnHook field in the OPENFILENAME struct to obtain hooks in to the dialog procedure. Respond to the CDN_INITDONE notification and move the buttons around with MoveWindow or SetWindowPos. You'll have to hunt for the button window handles.
But really, please don't do this, you'll just make your app worse.
That rings a bell. When you have the code to change the text of the button then you have the handle of the button window. Which you can then use when you pinvoke GetWindowRect and MoveWindow to move the button somewhere else. Visit pinvoke.net for the declarations.
Beware that the dialog changed in every Windows version. The next one might well break your program. Your customer is not going to be disappointed when you don't do this.

Categories

Resources