【问题标题】:C# Windows Form Application Long Button ClickC# Windows 窗体应用程序长按钮单击
【发布时间】:2015-05-15 20:42:26
【问题描述】:

好吧,首先我对在 Windows 窗体应用程序中进行编程非常陌生,所以如果我缺乏知识,希望你能理解。

我目前正在做的程序是 Windows 窗体应用程序中的虚拟钢琴。屏幕上有按钮,每个按钮代表一个钢琴“按钮”,如果点击一个 - 它会发出声音。现在,我想知道是否有任何方法可以将我的钢琴编程为检测连续的点击并播放声音,直到按钮“未点击”。例如,如果一个人继续点击“G”和弦按钮,它将继续播放声音,直到他停止点击。

如果我没有提供任何必要的信息,我很想知道。提前感谢所有答案。

【问题讨论】:

  • 你有没有尝试过?比如说... MouseDown/MouseUp 事件?
  • 我认为这是一个有效的问题。 OP 想要一个示例,说明如何检测按钮何时被按下以及何时释放以处理这些事件。一个例子在这里可能会有所帮助。

标签: c# button click piano


【解决方案1】:

您正在寻找的是“按住按钮事件”。 您可以处理 MouseDown 和 MouseUp 事件,如下所示:

private bool buttonDown; 
private void btn1_MouseDown(object sender, MouseEventArgs e) 
{ 
    buttonDown = true; 

    int num = 0; 
    do 
    { 
        num++; 
        label1.Text = num.ToString(); 

        Application.DoEvents(); 
    } while (buttonDown); 
} 

private void btn1_MouseUp(object sender, MouseEventArgs e) 
{ 
    buttonDown = false; 
} 

这将在您单击按钮时开始执行代码并一直执行直到您释放按钮

【讨论】:

    【解决方案2】:

    您需要使用 mousedown 事件。当鼠标将进入按钮时,您需要引发按钮单击事件单元 mouseup 事件触发。

    【讨论】:

    • 答案应该是完整且经过深思熟虑的。这只是一个评论(我知道您没有足够的代表来支持 cmets)。请尝试发布更完整的答案,这些答案实际上显示了所提出问题的方法或解决方案。
    • 他说他对编程很陌生。所以我让他自己长大,而不是喂饱。
    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2011-05-19
    • 2011-06-11
    相关资源
    最近更新 更多