我正在创建一个插件,为此我已经成功地连接了di和ui。我创建一切(表单,按钮,文本框等)手动代码学习,因为这是我的第一个。当我调试时,我可以看到我创建的所有字段的表单。下面是创建表单的代码。
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";问题是,当我尝试在按钮单击事件上添加数据库中textbox的值时,我无法生成按钮单击事件。
据我所知,当我们从工具箱中创建一个按钮并使用系统表单时,它会自动初始化InitializeComponent()函数上的按钮,并创建一个指向按钮单击事件的委托。
我想知道如何通过代码来实现所有这些。我试图通过我的手动代码初始化按钮,还创建了指向按钮单击函数的委托,但我无法实现我的结果。
发布于 2018-09-13 17:14:48
尝试添加一个捕获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
}
}https://stackoverflow.com/questions/52201996
复制相似问题