我的代码如下,如果我一一单击选项1和2,效果很好,但是当我连续单击选项1后,会生成多个列表框,这会让我的用户感到困惑。 我该如何优化代码? 非常感谢。
另外两个问题是:
1. 如果我删除面板框,框内的(如文本框)是否也会被删除或只是不显示?
2. 如何获取模态窗口的层次结构?
dt = Current Data Table();
If( Is Empty( dt ),
Stop(),
nc = N Col( dt )
);
openDTs = {};
For( i = 1, i <= N Table(), i++,
Insert Into( openDTs, Data Table( i ) << getname )
);
tableSelBox = Expr(
//Panel Box( "Select Limit Table",
lbtableSel = List Box( openDTs, width( 150 ), nlines( 6 ), maxselected( 1 ), ),
//),
);
nw = New Window( "Auto Plot",
modal,
hb = H List Box(
V List Box(
Panel Box( "Mode Selection",
Spacer Box( size( 100, 0 ) ),
rbMethod = Radio Box(
{"With Current Limit", "Without Current Limit"},
rbSel = rbMethod << get selected;
dbAfterpb = colSelLstBox << Next();
If( rbSel == "With Current Limit",
pb << Sib Append( tableSelBox ),
);
If( rbSel == "Without Current Limit",
dbAfterpb << Delete;
lbtableSel << Delete
),
),
),
Panel Box( "Action",
Spacer Box( size( 100, 0 ) ),
okBb = Button Box( "OK", Stop() ),
cancelBb = Button Box( "Cancel", Stop() ),
),
),
pb = Panel Box( "Select Columns",
colSelLstBox = Filter Col Selector( dt, nlines( Min( nc, 13 ) ) ),
),
pb << Sib Append( tableSelBox ),
),
);

您希望用户能够做什么?
1.如果删除里面的Panel Box()对象也应该被删除(在面板框中使用<
2. 哪个层次结构? 如果您希望查看树结构或属性,暂时删除模式是最简单的选择
也许这只是我的问题,但如果您可以共享属于您的脚本的表,那么理解您的问题会容易得多。
当我点击“有电流限制”选项时,“选择列”面板的右侧会出现一个新的列表框,如果我点击“无电流限制”选项,该列表框将被删除,如果我点击选项1 - -> 选项 2 --> 选项 1 --> 选项 2,效果很好。 但是,如果我多次单击 option1,会出现多个列表框,这会让我的用户感到困惑,下图显示了我单击“选项 1”4 次后生成了 4 个列表框。

抱歉让您感到困惑。 我遇到的问题与某个表无关,而是一个UI开发问题。
我的意思是如何使用单选框生成显示框,比如单击选项1是生成列表框A,选项2是生成列表框B,选项3什么都不做。 而且,如果我单击选项 1,然后单击选项 2,列表框 A 将被删除,并会显示一个新的列表框 B。
在我的代码中,一切正常如果我单击选项 1 --> 选项 2 --> 选项 1 --> 选项 2...但是如果我多次单击选项 1,会显示多个列表框,这会让我的用户感到困惑,下图是显示我单击“选项 1”4 次后生成了 4 个列表框。

当使用当前限制选项来检查 lbtableSel 是否为空时,您可以添加额外的检查
If(rbSel == "With Current Limit" & is empty(lbtableSel),
谢谢,您的代码在非模式模式下运行良好。
在模式模式下,如果我单击选项 1 --> 选项 2 --> 选项 1,列表框将不会显示,但是当我尝试附加选项 2 --> 选项 1 时,它会显示! 根据我的调查,我发现面板colSelLstBox后面似乎有一个不可见的列表框,我无法调用它并删除它,但选项2操作2次后,它最终会被删除,所以选项1可以工作。 太有趣了....
我在模态模式下的最终解决方案是添加一个 size(0,0) 间隔框,然后我可以获得它的处理程序,判断它是否存在,删除或生成。