Axapta 如何向对话框中添加按钮并为单击事件创建方法
在Axapta中,如何向对话框中添加按钮并截获单击事件?Axapta 如何向对话框中添加按钮并为单击事件创建方法,axapta,dynamics-ax-2009,Axapta,Dynamics Ax 2009,在Axapta中,如何向对话框中添加按钮并截获单击事件? 感谢选项1 对话框运行()中需要此行 您可以重载click事件 public void MyButton_clicked() { //bla } 选项2 将按钮操作代码放在一个单独的类中,并创建一个菜单选项,即“添加菜单项”按钮来执行代码 dialog.addMenuItemButton(MenuItemType::Action,"YourNewMenuItem"); 您使用哪种方法取决于您真正想要实现的目标。如果您不在RunBase
感谢选项1强> 对话框运行()中需要此行 您可以重载click事件
public void MyButton_clicked()
{
//bla
}
选项2强>
将按钮操作代码放在一个单独的类中,并创建一个菜单选项,即“添加菜单项”按钮来执行代码
dialog.addMenuItemButton(MenuItemType::Action,"YourNewMenuItem");
您使用哪种方法取决于您真正想要实现的目标。如果您不在
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');
}
嗨@Andrew好建议!
private void myClickedMethod(FormButtonControl _formButtonControl)
{
info('hello world');
}