Как обработать событие щелчка для кнопки, которая находится внутри объекта управления?
У меня есть объект управления. В объект управления я добавил кнопку. Я хочу обработать событие click для объекта Button .
mapcomponent.MapObjectClick += new MapComponent.MapComponent.MapObjectEventHandler(mapcomponent_MapObjectClick);
Public void mapcomponent_MapObjectClick(object sender, MapObjectEventArg e)
{
if (e != null)
{
var obj = sender as Control;
var txt = obj.FindControl("txt1") as TextBox;
if (txt != null)
txt.Text = "hello";
var btn = obj.FindControl("btn1") as Button;
if (btn != null)
{
btn.Command += new CommandEventHandler(b_Command); //handler
}
}
}
//Not working
Public void b_Command(object sender, CommandEventArgs e)
{
//Want to call This Method
}
2 ответа
Вы должны дать вашей кнопке имя CommandName и перехватить его в событии OnCommand.
btn.Command += new CommandEventHandler(b_Command); //handler
btn.CommandName = "foo";
Public void b_Command(object sender, CommandEventArgs e)
{
if(e.CommandName == "foo")
{
//Do stuff
}
}
Я не совсем уверен, в чем смысл вашего сценария, но если вы хотите вызвать событие нажатия кнопки программно, вы можете использовать Button.PerformClick()
метод.