简体   繁体   English

查找表单上的某些内容何时被单击

[英]Find when something on form has been clicked

I know that I can check when an item has been clicked or not.我知道我可以检查何时点击了一个项目。

But if I have an _Click event on my Widget , when this event is triggered, can I trigger the _click event for my form as well?但是如果我的Widget上有一个_Click事件,当这个事件被触发时,我是否也可以为我的表单触发_click事件?

I have used a pictureBox in my class and I wrote the code for it inside my class and now I do not know how to register a click on my form as well.我在课堂上使用了一个图片pictureBox ,我在课堂上为它编写了代码,现在我也不知道如何在我的表单上注册一个点击。

EDIT: I'm sorry;编辑:对不起; it was a clumsy explanaiton I'll try again: How can I throw an Event (or something like that) in my class and catch it in a Form ?这是一个笨拙的解释,我会再试一次:如何在我的班级中抛出一个Event (或类似的东西)并在Form捕获它?

You can use the method Form.OnClick to simulate a click on the Form.您可以使用Form.OnClick方法来模拟对 Form 的单击。 On my example I created a button and added a Click event to it.在我的示例中,我创建了一个按钮并向其添加了一个 Click 事件。 When the button is clicked, it simulates a Click on the Form, which triggers the Form's Click event.当按钮被点击时,它模拟了对表单的一次点击,从而触发了表单的点击事件。

private void button1_Click(object sender, EventArgs e) {
    // do something when it's clicked
    this.OnClick(new EventArgs());
}

private void Form1_Click(object sender, EventArgs e) {
    Console.WriteLine("a click occurred on the form");
}

我认为你可以用wndproc做到这一点

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM