Ayuda SAP

Imposible capturar click de un boton en SAP B1 UI

Me estoy iniciando con SAP B1 UI API (9.0) y estoy tratando de capturar el evento click de un botón pero no lo he podido lograr. A continuación les muestro (de manera reducida) lo que he estado intentando:

static void Main(string[] args)
{
    SetApplication(args);

    var cParams = (FormCreationParams)App.CreateObject(BoCreatableObjectType.cot_FormCreationParams);
    cParams.UniqueID = "MainForm_";
    cParams.BorderStyle = BoFormBorderStyle.fbs_Sizable;

    _form = App.Forms.AddEx(cParams);
    /*Setting form's title, left, top, width and height*/

    // Button
    var item = _form.Items.Add("BtnClickMe", BoFormItemTypes.it_BUTTON);
    /*Setting button's left, top, width and height*/
    var btn = (Button)item.Specific;
    btn.Caption = "Click Me";
    _form.VisibleEx = true;

    App.ItemEvent += new _IApplicationEvents_ItemEventEventHandler(App_ItemEvent);
}

private static void SetApplication(string[] args)
{
    string connectionString = args[0];
    int appId = -1;
    try
    {
        var guiApi = new SboGuiApi();
        guiApi.Connect(connectionString);
        App = guiApi.GetApplication(appId);
    }
    catch (Exception e)
    { /*Notify error and exit*/ }
}

private static void App_ItemEvent(string FormUID, ref ItemEvent pVal, out bool BubbleEvent)
{
    BubbleEvent = true;

    if (FormUID == "MainForm_" && pVal.EventType == BoEventTypes.et_CLICK &&
        pVal.BeforeAction && pVal.ItemUID == "BtnClickMe")
    {
        App.MessageBox("You just click on me!");
    }
}

Cuando doy click en el botón no ocurre nada, es así como se debe hacer? He hecho muchas variaciones del método App_ItemEvent pero nada parece funcionar. Un detalle es que cuando el Addon inicia el debugger de visual estudio se detiene (tal vez esto tiene que ver con el problema que les planteo).

NOTA: En stackoverflow también abrí un hilo.

Espero me puedan ayudar. Muchas gracias por adelantado.

David.

Respondo por si a alguien le sucede lo mismo que a mi, esta respuesta la obtuve de stackoverflow.

El problema era que la aplicación se detenía al levantar el addon. Llamando al método System.Windows.Forms.Application.Run(); después de terminar la preparación del Form hace que esto no suceda y funcione como se espera.

3 Me gusta