在 Axapta 中,如何在对话框中添加按钮并拦截点击事件?谢谢
问问题
12029 次
2 回答
4
选项1;
对话框 run() 中需要此行
element.controlMethodOverload(true);
你可以重载点击事件;
public void MyButton_clicked()
{
//bla
}
选项 2;
将你的按钮动作代码放在一个单独的类中,并创建一个菜单选项,添加一个菜单项按钮来执行你的代码;
dialog.addMenuItemButton(MenuItemType::Action,"YourNewMenuItem");
您使用哪个取决于您真正想要实现的目标。
于 2012-06-26T09:31:14.013 回答
4
如果您在RunBaseBatch
框架之外,您可以通过以下方式进行操作:
请注意,这种方式也不需要虚拟菜单项按钮。
对话框创建:
private void dialog()
{
Dialog dlg = new Dialog();
DialogGroup dlgGroup;
FormBuildGroupControl buttonGroup;
FormBuildButtonControl buttonControl;
dlgGroup = dlg.addGroup('ButtonGroup');
buttonGroup = dlg.formBuildDesign().control(dlgGroup.formBuildGroup().id());
buttonControl = buttonGroup.addControl(FormControlType::Button, 'A Button');
buttonControl.registerOverrideMethod(methodStr(FormButtonControl, clicked),
methodStr(MyClass, myClickedMethod),
this);
dlg.run();
}
覆盖点击方法:
private void myClickedMethod(FormButtonControl _formButtonControl)
{
info('hello world');
}
于 2015-04-24T20:17:50.690 回答