如何删除除一个以外的所有控件?

时间:2018-08-30 23:38:22

标签: c# winforms

如果要删除所有GroupBox控件,可以使用:

foreach (Control c in this.Controls.OfType<GroupBox>().ToList())
{
    this.Controls.Remove(c);
}

如何在这里有例外?换句话说,我想删除所有GroupBox控件,但GroupBox的名称为“ Groupbox1”的除外。

2 个答案:

答案 0 :(得分:5)

Rufus解决方案的一种替代方案,如果您事先知道要排除 的GroupBox的名称,则可以使用Enumerable.Except()方法:

const AWS = require("aws-sdk");
const stepfunctions = new AWS.StepFunctions();

exports.myHandler = function(event, context, callback) {

    ... your function's code

    const params = {
       stateMachineArn: 'YOUR_STATE_MACHINE_ARN', /* required */
       input: 'STRINGIFIED INPUT',
       name: 'AN EXECUTION NAME (such as an uuid or whatever)'
    };
    stepfunctions.startExecution(params, function(err, data) {
       if (err) callback(err); // an error occurred
       else     callback(null, "some success message"); // successful response
    });

}

Delete GroupBoxes

答案 1 :(得分:1)

您可以在查询中添加过滤器,以排除您不想删除的控件的名称:

foreach (var groupBoxToDelete in Controls.OfType<GroupBox>().ToList()
    .Where(ctrl => ctrl.Name != "groupBox1"))
{
    Controls.Remove(groupBoxToDelete);
}