C# 在不按C键的情况下触发向上键#

C# 在不按C键的情况下触发向上键#,c#,winforms,C#,Winforms,我想通过调用表单而不是按键来触发keyup事件 这是我的密码: if (dr.HasRows) { FrmQty fqty = new FrmQty(this); fqty.ProductDetails(dr["ProductID"].ToString(), float.Parse(dr["ProductPrice"].ToString()),

我想通过调用表单而不是按键来触发keyup事件

这是我的密码:

if (dr.HasRows)
                {
                    FrmQty fqty = new FrmQty(this);
                    fqty.ProductDetails(dr["ProductID"].ToString(), float.Parse(dr["ProductPrice"].ToString()), lblTransno.Text);
                    fqty.txtQty.Text = "1";
                    fqty.txtQty_KeyUp();//i wanna trigger it here by pressing "Enter" key. its an event from FormQty
                    fqty.ShowDialog();
                }
一个(可能更好)的解决方案是公开处理函数并简单地调用它。 另一种可能是使用
SendKeys
模拟按键:

您可以执行以下操作:


私有void myForm_KeyDown(对象发送方,KeyEventArgs e)
{
如果(e.KeyCode==Keys.Enter)
myinterkeydownfunc();
其他的
{
//您的其他密钥管理
}
}
public void myInterKeyDownFunc()
{
//你在这里输入东西吗
//如果要修改UI上的任何内容,应确保
//在GUI线程中调用。可能类似于:
if(a控制调用请求)
{
aControl.BeginInvoke((MethodInvoker)委托()
{
//GUI修改
});
}
其他的
{
//GUI修改
}      
}

现在,您可以从类外部调用
myInterKeyDownFunc()

如果在FrmQty内部有一个与键关闭相关联的事件,您可以将其公开并从外部调用,就像
myForm\u键关闭(null,null)
。在您的问题中,您没有指定要按/释放的键。@AmoRobb
Enter
是我要用它触发的键。使用的是
txtQty\u KeyUp(sender,e)
,但它会抛出一个错误,因为它是另一种形式。请将事件中的代码放入另一种方法中。现在,从事件和需要该代码的任何地方调用该方法。