2

これが問題です。次のように、多くのボタン、ピクチャボックス、テキストボックス、およびその他のコントロールを追加します。

btnStart = new Button();bla bla bla テキスト テキスト テキスト...

そして、私はさらに追加しています。だから、私はそれらを1つずつ削除できることを学びました:

Controls.Remove(btnStart);

しかし、私が知りたいのは、一度にすべてを削除する方法があれば、削除したいときにすべてを指定するのではなく、. 基本的に私は新しいものを作成したい:

private void ClrScr() { //Help??? }

一度このフォームから呼び出されたすべてのコントロールを削除します (すべてが 1 つのフォームで行われます)。誰でも助けてもらえますか?私はまだこれでかなり新しいです。

4

2 に答える 2

3

Controls.Clear( )するべきです。

編集:

以下で指摘されているようControls.Clear( )に、メモリリークが発生する可能性があります。この回答をご覧ください:メモリ リークを発生させずにコントロールを Clear() する方法

于 2012-04-18T13:03:08.590 に答える
1

メインフォームのすべての子コントロールを削除したい場合は、単に使用してくださいControls.Clear()

削除したくない固定コントロールがある場合は、動的に生成されたコントロールをパネルに追加します。mypanel.Controls.Clear()次に、それらのコントロールのみを削除するために呼び出すことができます。

編集: Controls.Clear がメモリリークを引き起こすように見えるので、Hans Passant からのこの回答を使用することができます。

于 2012-04-18T13:03:12.443 に答える