How to capture Mouse Down event outside a control?

Mouse Capture doesn't work:
public partial class MainWindow : Window
public MainWindow()
InitializeComponent();
Button button1 = new Button();
button1.Width = 50;
button1.Height = 20;
this.Content = button1;
Mouse.Capture(button1);
button1.PreviewMouseDown += Down;
private void Down(object sender, MouseButtonEventArgs e)
MessageBox.Show("Hello World!"); // doesn't show

Hi Ziya,
the Capture-method returns a bool whether the capture was successful or not. So when you do this, you'll see that your capture didn't work:
public MainWindow()
InitializeComponent();
Button button1 = new Button();
button1.Width = 50;
button1.Height = 20;
this.Content = button1;
var success = Mouse.Capture(button1);
if(!success)
MessageBox.Show("Not captured");
button1.PreviewMouseDown += Down;
The problem with the code above is that your Window is not loaded at that time when the code in the constructor is executed. And as long as it is not loaded, there's nothing to capture. :-)
So you should do your capture-logic in the Loaded-event of the window. That event occurs after the Window has been loaded. So the code below will work for you:
public MainWindow()
InitializeComponent();
Button button1 = new Button();
button1.Width = 50;
button1.Height = 20;
this.Content = button1;
this.Loaded += (s, e) =>
var success = Mouse.Capture(button1);
if (!success)
MessageBox.Show("Not captured");
button1.PreviewMouseDown += Down;
Thomas Claudius Huber
"If you can't make your app run faster, make it at least look & feel extremly fast"
My latest Pluralsight-courses:
XAML Layout in Depth
Windows Store Apps - Data Binding in Depth
twitter: @thomasclaudiush
homepage: www.thomasclaudiushuber.com

Similar Messages

  • Capturing Mouse Click Event Outside a Canvas/Component

    Hello Guys
    I have a canvas based component and i want to capture a mouse click event outside that component.
    How is it possible?
    Thanks a lot

    Thanks a lot Morphic
    I solved it using focusout method from my component;s textinput but your method is also good and will help me in later stages.

  • PDA Mouse Down Event on Picture Control

    While using the Mouse Down Event on the Picture Control for LabVIEW 7.1 PocketPC PDA, I want to get the xy coordinates on where the user tapped on the pict control. Any ideas or workarounds?
    Robert

    Hello Robert �
    What do you mean by �outputting individual horizontal and vertical components�?
    In the LabVIEW PDA module (and this applies to PocketPC and PalmOS), clusters will not show up in the PDA�s screen. You can use clusters to group controls/indicators but when there is need of sending a new value/showing the value in the screen, the bundle and unbundled functions have to be used, so that you can have individual controls/indicators to pass a new value/see the value, respectively.
    So, from the Coords terminal in a Mouse Down/Up event, you need to unbundle the cluster and create individual indicators for each, the horizontal and vertical position.
    I am attaching an example to show you what I mean. For PalmOS, the same applies.
    H
    ope this helps and if I misunderstood your post, please let me know.
    Have a great day.
    S Vences
    Applications Engineer
    National Instruments
    Attachments:
    PPC_Picture_Events.vi ‏30 KB

  • Mouse down event handling of table control in subvi

    Hello Everyone.......
    I have created a vi which has a table control and xy graph... the function of the vi is to plot the data of two particular column of table into xy-graph after user selects the data from table....  In this vi , I have used mouse down event for selecting data set so that the color of selected row get changed for user reference.......  the vi is working fine..... 
    My problem is that this vi is a part of main vi.. and I want to use this vi as a subvi.... So, in my main vi I have a table control which is connected as input to the subvi...  I come to know that I need to register event for triggering a event in a subvi.......
    (1) How to register Mouse down event of table control which is on Main Vi to trigger mouse down event of table in subvi.... Another Important thing is... how to link every property of table control of subvi to the table control of main vi... so it just act as single control adapting every property like when user selects a particular row its color changes in subvi....so it should be reflected even if user selects a row in main vi... I mean table control of main vi and subvi should be a single control...is it possible?
    I hope I am clear......Thanks ..

    See the modified version of the VI. I use the 'Point to Row Column' method to get the cell that was clicked on - your method also worked using 'Selection Start' but I thought I'd show you an alternative.
    I've used a single event structure to update two table controls - the point is that if you have the references to the controls you can update the control from anywhere. You can also 'register for events' to allow you to register for events from a different VI (again, using the references) that doesn't have the control on the front panel.
    Couple of things about your VI:
    You don't need to put a wait node if you have a timeout on your event structure.
    You don't need the for loop for the columns/rows - if you look at the help for the 'Active Cell' property you can use a value of -2 for the row/column to select all cells in the row/column.
    Certified LabVIEW Architect, Certified TestStand Developer
    NI Days (and A&DF): 2010, 2011, 2013, 2014
    NI Week: 2012, 2014
    Knowledgeable in all things Giant Tetris and WebSockets
    Attachments:
    Highlight Selected Row in Table Control_lv2009.vi ‏13 KB

  • How Can I Move the Elements by Tap on Touchscreen or Mouse Down Event in Adobe Edge Animate?

    hi , how can i move the elements by tap on tochscreen or mouse down event in adobe edge animate? like action for moving car.

    in my idea is mousedown action or tap on touchscreen plays the role of car accelerator, (gas pedal) when i left click on mouse my car moves forward and the car doesnt move when I dont click or tap.
    Do you have a solution?

  • How to capture mouse envents outside VI window?

    Hello,
           I want to capture mouse envents occured outside the VI window. I searched in NI web and only found that has example capture the mouse envents inside the VI window. If anyone can help me please email to [email protected] or [email protected]
    Thanks and Best Regards

    By the way, I'm using LabVIEW 6.1 PDS..

  • How can I capture mouse click events on BSP or Web Dynpro ABAP Screen

    hi Guys,
    Currently we have a user inactivity problem,
    the requirement is: if user is clicking on BSP/Web Dynpro ABAP screen, he/she is considered active. so we need an mechanism to capture the mouse click event.
    Using Firebug, we found that this js is in the iframe which contains BSP/web dynpro scrren: /sap/public/bc/ur/nw5/js/languages/urMessageBundle_en.js
    we want to find this js file & put in some javascript code to track user's mouse click, but i cannot find it on server.
    while in ie if we type http://host:port/sap/public/bc/ur/nw5/js/languages/urMessageBundle_en.js
    this file can be downloaded, means this file is there.
    Any one can help on this issue? find the js file or another way to capture the mouse click event.
    Thanks a lot with points!

    Hi  Feng Guo,
                        We can not capture mouse click events on Web Dynpro ABAP Screen . I am not sure about BSP. But as for as I know the portal keep active the iViews until unless mouse clicks happens.
    But for your problem I think you can get solution by setting iView Expiration to some more time period.
    Regards,
    Siva

  • Mouse down event

    Is there anyway I can keep the control properties as shown in the image attached if I add another event to the same event structure case?
    I currently have an event structure case configured to execute on a mousedown event on a multi column listbox and would like to add a dynamic event to this case also yet keeping hold on the properties show in the image attached..
    Strokes
    Solved!
    Go to Solution.
    Attachments:
    Mouse down event for Multi Column Listbox.PNG ‏2 KB

    sebster wrote:
    Is it not just a case (pun not intended) of right-clicking the event structure and selecting Show Dynamic Event Terminals?
    I understand how to create, register and generate dynamic events but when I add the dynamic event to the event structure it changes (naturally enough) the "CtlRef, Coords,Button" properties to other ones like "time, type, source" etc...

  • Mouse down event and Click event in List Box Very urgent.

    Hi,
           How can i differentiate mouse down and itemclick in ListBox.Its very urgent.
    Regards,
    Jayagopal.

    Nick wrote:
    Turns out need update value while typing turned on if you want to gaurantee a correct read of a text input control in a mouse down event.
    AFAIK, "Update value while typing" will trigger only a Value Change event of the Str Ctl.
    Mouse Down event will preceed a Value Change event, if you have both the event cases configured in your code.
    - Partha
    LabVIEW - Wires that catch bugs!

  • Detect clicked cluster in mouse down event for clusters within multiple stacked clusters

    With the help of Ben (see http://forums.ni.com/t5/LabVIEW/Determine-cluster-element-clicked-in-mouse-down-event/td-p/1245770)
    I could easily find out what sub-cluster had been clicked on (mouse down event) within the main cluster, by using the Label.Text Property.
    However if you have a cluster within a cluster within a cluster then you probably have to use individual mouse down events for each sub-sub cluster.
    I just wanted to use one "Main Cluster":Mouse Down event and from that determine which of the sub-sub clusters had been clicked on - is this even remotely possible?
    Chris.

    Chris Reed wrote:
    With the help of Ben (see http://forums.ni.com/t5/LabVIEW/Determine-cluster-element-clicked-in-mouse-down-event/td-p/1245770)
    I could easily find out what sub-cluster had been clicked on (mouse down event) within the main cluster, by using the Label.Text Property.
    However if you have a cluster within a cluster within a cluster then you probably have to use individual mouse down events for each sub-sub cluster.
    I just wanted to use one "Main Cluster":Mouse Down event and from that determine which of the sub-sub clusters had been clicked on - is this even remotely possible?
    Chris.
    Yes but... you will have to pass through 26 Kudos worth of Nuggets to get there (Well maybe you can skip the last 5 or so).
    This Nugget by Ton teaches us how to use Dynamic Event Registration. (15 Kudos, must read and understand)
    This Nugget by me talks about getting at references inside arbitrary data structures. (11 Kudos, You don't have to read the whole thing, only enough to get at nested objects).
    SO use the stuff I wrote about to gather up the references to the clusters. Build them into an array and then use dynamic event registration and what you learned in that thread you linked in your question.
    So Possible? Yes!
    Easy? YOU tell me.
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • How to capture Wnidows(OS) event from Java program

    Hi,
    I am developing one application , in that if the user didn't do any thing in 15 mins,i need to log out from my application(not windows).Here i need to check Java event as weel as windows(OS) events also.Any one knows how to capture the OS events??

    I want to know the status of mouse and keyboard(Windows 2000).If the status of the mosue or keyboard doesn't change from 15min i need to log of the java application.

  • Pane Mouse Down Event

    Dear sir,
    I am using state machine concept in one of my projects. In my VI i have total 20 controls with different events. I introduced the Pane mouse down event to front panel to validate my input parameters. If i click on controls first it is executing the pane mouse down event and then it is going to particular control event means two events are happening. If i click on Pane only Pane mouse down event is executing. I want to discard the pane mouse down event when i click on the controls.
    Kindly let me know how to implement this kind of events.
    Thanks & regards,
    S Nagaraju.

    Crosspost

  • Mouse down event reading a string terminal trick

    Hi,
    I wondered why I was getting frustrated entering a pasword that was verified in the mouse down event of the OK button. This is becuase when you click the OK button the entered text is still in the buffer and not copied to the terminal. (Which is more natural than clicking somewhere on the FP first). Note pressing enter or tab gets the string control out of enter text mode.
    Turns out need update value while typing turned on if you want to gaurantee a correct read of a text input control in a mouse down event. As this is one of those not obvious but sometimes happens bugs... I have posted for reference for others :-)
    Example attached v8.6.1.
    Attachments:
    TestMouseDownEvent.vi ‏13 KB

    Nick wrote:
    Turns out need update value while typing turned on if you want to gaurantee a correct read of a text input control in a mouse down event.
    AFAIK, "Update value while typing" will trigger only a Value Change event of the Str Ctl.
    Mouse Down event will preceed a Value Change event, if you have both the event cases configured in your code.
    - Partha
    LabVIEW - Wires that catch bugs!

  • Graph Mouse Down event issue

    I have an XY graph that is controlled by a mouse down event. When I use the any of the tools like zoom I zoom into an area with a cluster of plots when I go to click on a plot the plot selects but the graph then reinitialises back to its original state.  The VIs I'm using are attached
    Paul Power
    I have not lost my mind, it's backed up on a disk somewhere
    Attachments:
    XY graph - closest point.vi ‏24 KB
    scatter plot.vi ‏27 KB

    Yes, all the tools I'm using are from the graph palette. Say if I have 100 points on my graph and I use the graph palette zoom to zoom into an area of points on the graph I select a specific point with the mouse then the graph goes back to its unzoomed state showing the full plot
    Paul Power
    I have not lost my mind, it's backed up on a disk somewhere

  • Event structure does not capture mouse click event on toolbar activeX control

    Hi
    We have a toolbar activeX control on FP.  It works perfectly on my computer, but on my coworkers deskyop,  somehow the event structure doesn't capture mouse click event.
    Any idea?  Thanks a lot for any help.
    Anne

    It's a standard activeX control.  I attach a simple vi .
    thanks  for any help.
    Attachments:
    toolbar test.vi ‏41 KB

Maybe you are looking for

  • This feature is disabled because it is not compatible with RTF???????

    Anybody, have this error. I don't why this is occurring. Everytime I try to paste a table inside another one (nesting) I get this error saying I can't. The two fixes: 1. was to save the file as WORD 97-2002 RTF (*.doc) paste the nested table, save it

  • Why both MiniDisplayPort and Mini-DVI?

    I'm potentially in the market for a mac mini, and am trying to understand the display options this would give me in the future. Can someone help me understand why the MacMini has been given 2 display output ports? (Mini-DVI and MiniDisplay Port) What

  • Payment on account and deferred tax.

    Hi all, I have a problem with the deferred tax in France. The tax had to be in the VAT report at the payment. When I create a payment on account ( on a deferred tax BP with no invoice selected), my payment doesn't appears in the VAT report. The tax a

  • Why do I show both the iCloud and .mac  mail accounts on my phone

    I have an icloud account and both the .mac and icloud mail account show up on my iphone.  Is this necessary?  If I disable mail on the icloud page of my phone, will the mail be accessable in icloud but not show as a seperate account on my phone?

  • Photoshop CS3 will not install at all

    I have been using CS for years with no problems. I just UNinstalled CS in order to install CS3, full version not an upgrade, and after the install screen appears and I click install the "initiallizing CS3" appears and then Nothing Happens, absolutely