如何向对话框添加按钮并为单击事件创建方法

sti*_*ghy 4 axapta dynamics-ax-2009

在Axapta中,如何向对话框添加按钮并拦截点击事件?谢谢

And*_*rew 5

如果您在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();
}
Run Code Online (Sandbox Code Playgroud)

覆盖点击的方法:

private void myClickedMethod(FormButtonControl _formButtonControl)
{
    info('hello world');
}
Run Code Online (Sandbox Code Playgroud)