문제

private void textBoxColor_KeyDown(object sender, KeyEventArgs e) 
{ 
//do something 
} 
private void btnSaveSet_Click(object sender, EventArgs e) 
{ 
//how can i invoke the KeyDown event 
}

In my test WinForm, i have a TextBox named textBoxColor and a Button named btnSaveSet. I add KeyDown event to the textBox and Click event to the Button.

도움이 되었습니까?

해결책

Generally you shouldn't try to call event handlers within other event handlers. If you want to share a method, then you should put it in another method and call that from each of the events.

For example:

private void textBoxColor_KeyDown(object sender, KeyEventArgs e) 
{ 
    SomeMethod();
} 

private void btnSaveSet_Click(object sender, EventArgs e) 
{ 
    SomeMethod();
}

private void SomeMethod()
{
    // Put your shared event code here.
}

You can also pass the event arguments into this method if you'd like, by adding these as parameters to SomeMethod.

다른 팁

Very simple, call method textBoxColor_KeyDown from btnSaveSet_Click

private void textBoxColor_KeyDown(object sender, KeyEventArgs e) 
{ 
//do something 
} 
private void btnSaveSet_Click(object sender, EventArgs e) 
{ 
    textBoxColor_KeyDown(sender,null);
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top