我正在编写自己的规则引擎,我已经看过一些已存在的但我正在寻找其他一些我找不到的例子。 我正在寻找一个类似的应用程序,我可以深入研究并学习如何实现它。
现在,我的问题是无论规则引擎,更多的是表格/动态问题,但如果你的答案可以,你可以 与我最终想要做的事情有关,这将是伟大的。
关于用户界面,我使用的是Visual Form,我希望它是这样的: http://i.imgur.com/5istREF.jpg
现在,一旦用户选中最后一个复选框“And / Or”,我希望他能够输入另一个规则,格式与第一个规则完全相同。 http://i.imgur.com/N588sjj.jpg
现在用户基本上可以根据需要多次进行,所以我正在寻找一种方法来动态处理它并创建按钮/面板甚至使用相同的(但每次他可以输入不同的值)
就像我说的,如果你知道我可以研究的任何类似的应用程序/代码,无论规则引擎如何,这也会有所帮助。
最终我将把他输入的所有字段都转换成代码。
答案 0 :(得分:0)
如果我理解正确,你可以做的是制作一个你自己的控制器,它是在另一个表单中定义的,然后你可以根据需要将它添加到主表单中。 您可以定义这个新控制器(意味着一个新表单),只保留一行comboBox,然后将其添加到主表单中基于前一个控制器位置的位置。
这是一个示例,它将一个名为CNewControl的类的几个控件添加到一个名为newControlsTab的选项卡中。
int controlHeight = 0;
foreach (CNewControl newControl in newControlList)
{
this.newControlsTab.Controls.Add(newControl );
newControl.Dock = DockStyle.Top;
newControl.Location = new System.Drawing.Point(40, 3 + controlHeight);
controlHeight += newControl .Size.Height;
}
当用户选择应添加一行的相应选项时,您当然可以将其更改为仅添加一行。