2012-04-25 64 views
0

如何通过按下vC++ 2008中的按钮来完全删除(销毁)文本框(而不是删除其中的文本)? 窗体窗体应用程序,,我创建textBox1,我希望该文本框消失时,用户击中某个按钮(不是通过使用可见功能,,我希望它被摧毁)如何通过按下按钮vC++摆脱文本框?

+2

这个问题是不可能的回答,因为我们无法知道你正在使用的GUI工具包等,请编辑您的问题,包括所有重要的细节。 – ThiefMaster 2012-04-25 20:14:51

回答

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 2012-04-25 21:27:04

+0

它被删除,我可以向你保证,但你似乎忘了这部分:(...)并将NULL指派给它的任何其他变量...如果你遵循这个,你应该无法达到文本框,或将其设置为可见。 – yms 2012-04-25 22:06:19