Here's a simple problem that's been kicking my butt since I've started taking a shot at Windows programs.
Note: This is in Windows Forms .Net.
I've been playing around with the .ToString command and it's works 80% of the time for what I want to do but I can't seem to add things to any type of form (Lol, so I'm not really able to use Windows forms). With this problem and the code I've listed below I'd just like to take a simple TreeView and use it to select directories from a list. If anyone could help it would be extremely appreciated!
Oh yeah, I've leanrt C++ in unmanaged code so I do have to go back and take care of that. The error message and line number is listed at the bottom of this window:


Code:
// Simple file list generator practice...
namespace winForms
{
#include <windows.h>
using namespace System::IO;
	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;


	__gc public class Form1 : public System::Windows::Forms::Form
	{	
	public:
		Form1(void)
		{
			InitializeComponent();
		}
  
	protected:
		void Dispose(Boolean disposing)
		{
			if (disposing && components)
			{
				components->Dispose();
			}
			__super::Dispose(disposing);
		}
	private: System::Windows::Forms::Button *  button1;
	public: System::Windows::Forms::Label *  label1;
	public: System::Windows::Forms::TreeView *  treeView1;


	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container * components;

		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->button1 = new System::Windows::Forms::Button();
			this->label1 = new System::Windows::Forms::Label();
			this->treeView1 = new System::Windows::Forms::TreeView();
			this->SuspendLayout();
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(280, 392);
			this->button1->Name = S"button1";
			this->button1->TabIndex = 0;
			this->button1->Text = S"Run";
			this->button1->Click += new System::EventHandler(this, button1_Click);
			// 
			// label1
			// 
			this->label1->BackColor = System::Drawing::SystemColors::ControlLightLight;
			this->label1->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
			this->label1->Location = System::Drawing::Point(16, 400);
			this->label1->Name = S"label1";
			this->label1->Size = System::Drawing::Size(200, 16);
			this->label1->TabIndex = 1;
			this->label1->Text = S"label1";
			// 
			// treeView1
			// 
			this->treeView1->ImageIndex = -1;
			this->treeView1->Location = System::Drawing::Point(16, 8);
			this->treeView1->Name = S"treeView1";
			this->treeView1->SelectedImageIndex = -1;
			this->treeView1->Size = System::Drawing::Size(200, 376);
			this->treeView1->TabIndex = 2;
			this->treeView1->AfterSelect += new System::Windows::Forms::TreeViewEventHandler(this, treeView1_AfterSelect);
			// 
			// Form1
			// 
			this->AutoScaleBaseSize = System::Drawing::Size(5, 13);
			this->ClientSize = System::Drawing::Size(368, 422);
			this->Controls->Add(this->treeView1);
			this->Controls->Add(this->label1);
			this->Controls->Add(this->button1);
			this->Name = S"Form1";
			this->Text = S"Form1";
			this->Load += new System::EventHandler(this, Form1_Load);
			this->ResumeLayout(false);

		}	
	private: System::Void Form1_Load(System::Object *  sender, System::EventArgs *  e)
			 {
			 }

	private: System::Void button1_Click(System::Object *  sender, System::EventArgs *  e)
			 {

	DirectoryInfo* di = new DirectoryInfo(Environment::CurrentDirectory);
    FileInfo* fi[] = di->GetFiles();
    Collections::IEnumerator* myEnum = fi->GetEnumerator();
	FileInfo* fiFile = new FileInfo(S"MyTest.txt");

    while (myEnum->MoveNext()) 
	if(fiFile)
	{
	FileInfo* fiTemp = __try_cast<FileInfo*>(myEnum->Current);
	StreamWriter* sw = fiFile->AppendText();
	sw->WriteLine(fiTemp->Name);
	sw->Write(Environment::CurrentDirectory);
	label1->Text=(fiTemp->Name);
	sw->Flush();
	sw->Close();
	getdirs();
	}		 
	}

	private: System::Void treeView1_AfterSelect(System::Object *  sender, System::Windows::Forms::TreeViewEventArgs *  e)
	{
	}

	public: void getdirs()
	{
//treeView1->Nodes->Add(Environment::CurrentDirectory);	only thing that works!
        DirectoryInfo* di = __try_cast<DirectoryInfo*>(S"c:\\"); //new
        FileSystemInfo* dirs[] = di->GetDirectories(S"*");
        Collections::IEnumerator* myEnum = dirs->GetEnumerator();
		while (myEnum->MoveNext()) 
{
 		treeView1->Nodes->Add(myEnum->Current); //Line #133
}
	}};}
// The error generated is:
// error C2664: 'System::Windows::Forms::TreeNode __gc 
//				*System::Windows::Forms::TreeNodeCollection::Add(System::String __gc*)':
//				 cannot convert parameter 1 from 'System::Object __gc* to 
//				 'System::String __gc* 
//				 (Line 133)