【发布时间】:2020-07-25 23:45:12
【问题描述】:
好的,所以在我的程序中,我尝试制作按钮并为每个按下的按钮分配不同的方法。但是我遇到了一个问题,我还希望用户使用他的键盘并将键盘上按下的按钮分配给屏幕上的相同按钮。然而首先,我尝试了是否通过鼠标或键盘按下按钮但该方法不允许在“EventArgs”中使用 KeyEvents(这对我来说很好),所以我创建了不同的方法并创建了一个布尔变量,这样如果在那个单独的方法中按下键,使该变量为真,如果为真,则在该主方法中执行代码,但程序忽略该键盘变量,我不知道为什么。
然后我尝试创建一个不同的课程,因为我认为这可能会有所帮助。现在我可以在其中调用该类和方法,但不传递参数,因为它说它是一个方法,所以它不能做任何其他事情,只能被调用。
如果你好奇,下面是代码……
___
// the button '1' variable
bool pressOne = false;
___
// method for if that button is pressed
private void AnyNumberClick(object sender, EventArgs e)
{
Button btnSender = (Button)sender;
if (btnSender == btn_Num1 || pressOne)
{
// if button is pressed by either, perform code
}
}
___
// method for detecting which key is pressed for certain bool variable into button's method
public void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.D1)
{
pressOne = true;
}
else
{
pressOne = false;
}
___
// Call another class inside 'From1_KeyDown' method
Class1 newclass = new Class1();
newclass.buttonused();
NumResult.Text = newclass.buttonused.num();
有课的我不知道如何开始。我什至不知道新课程是否会帮助我。我做了研究,但没有找到答案。感谢您对此提供的任何帮助。
【问题讨论】:
标签: c# class button methods keyboard-events