winforms SAP Business One C#开发、表单和按钮事件

n1bvdmb6  于 2023-06-06  发布在  C#
关注(0)|答案(1)|浏览(182)

我正在创建一个插件,为此我已经成功地连接了DI和UI API。我创建一切(形式,按钮,文本框等)手动代码学习,因为这是我的第一个。当我调试时,我可以看到我的表单以及我创建的所有字段。下面是创建表单的代码。

SAPbouiCOM.FormCreationParams oCreationParams = null;
  oCreationParams = ((SAPbouiCOM.FormCreationParams(SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_FormCreationParams)));
  oCreationParams.BorderStyle = SAPbouiCOM.BoFormBorderStyle.fbs_Fixed;
  oCreationParams.UniqueID = "Form2";
  oForm = SBO_Application.Forms.AddEx(oCreationParams);

  oForm.Title = "Simple Form";
  oForm.Left = 417;
  oForm.Top = 520;
  oForm.ClientHeight = 610;
  oForm.ClientWidth = 770;

下面是我如何创建我的按钮:

SAPbouiCOM.Button oButton = null;
 oItem = oForm.Items.Add("Button1", SAPbouiCOM.BoFormItemTypes.it_BUTTON);
 oItem.Left = 6;
 oItem.Width = 65;
 oItem.Top = 51;
 oItem.Height = 19;
 oItem.Enabled = true;
 oButton = ((SAPbouiCOM.Button)(oItem.Specific));
 oButton.Caption = "Add";

问题是,当我尝试在按钮单击事件上添加数据库中的文本框值时,我无法生成按钮单击事件。
据我所知,当我们从工具箱中创建一个按钮并使用系统窗体时,它会自动初始化按钮ON InitializeComponent()函数,并创建一个指向按钮单击事件的委托。
我可以知道如何通过代码实现所有这些吗?
我试图通过我的手动代码初始化按钮,并创建了指向按钮单击函数的委托,但我无法实现我的结果。

k0pti3hp

k0pti3hp1#

尝试添加捕获SAP B1物料事件的方法,如下所示:

public void HandleItemEvent(ref SAPbouiCOM.ItemEvent pVal)
{ 
    if (pVal.BeforeAction == false && pVal.EventType == SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED && pVal.ItemUID == "Button1")
    {
        // You code here
    }
}

相关问题