2012-04-25 18 views
0

vC++ 2008のボタンを押して、テキストボックスを完全に削除(破棄)する方法(その中のテキストを削除しない) windowsフォームアプリケーション,,私はtextBox1を作成し、ユーザーが特定のボタンを押したときにそのtextBoxが消えるようにしたい(可視関数を使用せずに、私はそれを解消したい)ボタンを押してテキストボックスを取り除く方法vC++?

+2

この質問は、我々はあなたがすべての重要な詳細を含めるようにあなたの質問を編集してくださいなど使用しているGUIツールキットを知ることができないと答えることは不可能です。 – ThiefMaster

答えて

0

あなたはC++/CLRアプリケーション。このような場合は、コントロールを表示しないようにし、コンテナフォームのコントロールコレクションからそのコントロールを削除する必要があります(それを指す他の変数にNULLを割り当てます)。

あなたのコードは次のようになります。

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { 
      this->textBox1->Visible = false; 
      this->Controls->Remove(this->textBox1); 
      this->textBox1 = nullptr; // if you do not have any other reference to this object, it should be disposed eventually by garbage collection 
     } 
+0

それはうまくいったようですが、それがコントロールのコレクションから削除されていることを確認する方法! ,,,これを置くと(this-> textBox1-> Visible = true;)、再び見えるようになります。つまり、実際には削除されません!それは論理的ではありませんか? – user1356482

+0

それは削除されていますが、私はそれを保証することができますが、この部分を忘れてしまったようです:(...)そしてそれを指す他の変数にNULLを割り当ててください...これに従うと、テキストボックスをもう一度表示するか、または可視に設定します。 – yms

関連する問題