문제

버튼을 다루는 데 문제가 있습니다.나는 내 프로그램에 많은 버튼이 있으며 모든 버튼에서 사용되는 기능이 있습니다. 마지막으로 클릭 한 버튼의 이름을 다음과 같이 얻는 중입니다.

foreach (Control t in this.Controls)
{
    if (t.Focused)
    {
        ClickedButton = t.Name;
    }

}
.

그런 다음 버튼의 텍스트를 변경하고 싶습니다.

ClickedButton.Text = "Whatever";
.

그러나 ClickedButton을 버튼의 이름으로 사용할 수 없습니다.

미리 감사드립니다!

도움이 되었습니까?

해결책

이것이 이벤트라고 가정하면 이런 일을 할 수 있습니다

Button btn = (Button)sender;
btn.Text = "Whatever";
.

다른 팁

button_click 이벤트 에이 작업을 쓰면

다음과 같이 버튼을 얻을 수 있습니다 :

Button BTN = sender as Button;
BTN.Text = "This Button Has Been Clicked!";
.

클릭 이벤트를 클릭 한 버튼을 누르면 보낸 사람에게 버튼으로 던지고 컨트롤의 이름을 가져올 수있는 인수로 보내야합니다.

버튼 참조가 있으므로 컨트롤의 텍스트를 설정할 수 있습니다.

protected void btnTest_Click(object sender, EventArgs e)
{
    Button b = sender as Button;
    if ((b != null) && (b.Name == "btnTest"))
    {
         b.Text = "yay";
    }
}
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top