我正在尝试使用
在SWT中禁用shellsell.setEnabled(false);
这工作正常,我想阻止用户做动作,但同时我想让他最小化shell。问题是setEnabled(false)
将禁用整个shell。
你有没有想过这个?
答案 0 :(得分:0)
我想你想要禁用shell的内容。那你为什么不在shell中添加一个容器(Composite)作为主要内容,并根据需要禁用/启用它?这不会影响shell,因此,最小化按钮将继续工作。
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Composite composite = new Composite(shell, SWT.NONE);
composite.setEnabled(false);
答案 1 :(得分:0)
不要禁用Shell本身,而是禁用它包含的控件。像这样:
Control[] children = shell.getChildren();
for( Control control : children ) {
control.setEnabled( false );
}