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.