Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ButtonDown和ButtonUp是否使用布尔值?_C#_Events_Input_Controller_Keypress - Fatal编程技术网

C# ButtonDown和ButtonUp是否使用布尔值?

C# ButtonDown和ButtonUp是否使用布尔值?,c#,events,input,controller,keypress,C#,Events,Input,Controller,Keypress,因此,基本上我使用一个自定义控制器进行输入,只要按住按钮,就将布尔值设置为true,释放按钮时将布尔值设置为false 我需要能够在第一次按下按钮和释放按钮时触发一次事件 有人有什么建议吗 另外,我在.Net框架中使用C# 编辑:.Net Framework如何实现keydown和keydup事件?请注意,winforms按钮已经有此类事件,例如。如果您需要将它们提供给程序的其他部分,您可以在触发时触发自己的事件。 如果使用Visual Studio,则会有一个图形视图,您可以在其中放置控件。该

因此,基本上我使用一个自定义控制器进行输入,只要按住按钮,就将布尔值设置为true,释放按钮时将布尔值设置为false

我需要能够在第一次按下按钮和释放按钮时触发一次事件

有人有什么建议吗

另外,我在.Net框架中使用C#


编辑:.Net Framework如何实现keydown和keydup事件?

请注意,winforms按钮已经有此类事件,例如。如果您需要将它们提供给程序的其他部分,您可以在触发时触发自己的事件。 如果使用Visual Studio,则会有一个图形视图,您可以在其中放置控件。该视图还有一个属性窗口,其中包含事件(通过lightning图标)。只需选择控件(按钮),转到“属性”下的“事件”,输入鼠标按下时要触发的函数的名称并将其传递

public event EventHandler SomethingHappened;
private void OnMouseDown(object sender, MouseEventArgs e) {
    OnSomethingHappened(e);
}

private void OnSomethingHappened(EventArgs args) {
    var handler = SomethingHappened;
    if (handler != null)
        handler(this, args);
}

HTH

@MarioDeSchaepmeester好一点……你在用什么IDE?如果您使用的是Visual Studio,则可以转到图形视图并在“属性”下选择“事件”。当然,如果您的意思是这样的话,您可以在OnMouseDown事件中设置布尔值。如果没有,你能试着扩大你的问题吗?