我有一个组合框,如果按下“Enter”键会做一些事情。但我想手动调用此函数,但我如何发送“ENTER”键作为参数?
private void carga_todos(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
do something
}
我试着这样做:
carga_todos(null, ??????)
答案 0 :(得分:6)
不要像这样手动调用事件。
将您的逻辑移动到一个单独的方法中,您可以随时调用该方法:
private void carga_todos(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
DoSomething();
}
}
private void AnotherFunctionThatNeedsToDoSomethingToo()
{
DoSomething();
}
private void DoSomething()
{
// stuff to do
}
答案 1 :(得分:2)
我同意Grant Winney的观点。但是,如果您的要求是直接调用处理程序,则以下内容应该起作用:
KeyPressEventArgs kpea = new KeyPressEventArgs((char)Keys.Enter);
carga_todos(null, kpea);
祝你好运
Ĵ