我在测试listbox控件时遇到了这样一个问题,希望各位能帮我解答一下:我在做CLR项目的windows窗体应用程序时,做了一个关于listbox控件的测试,在form1里面放了一个listbox控件和一个按钮,想通过单击按钮使某个txt文件里面的内容原样显示在listbox控件上,我在编辑按钮的单击事件时出现了一个错误:
error C2664: “System::Windows::Forms::ListBox::ObjectCollection::Add”: 不能将参数 1 从“char [80]”转换为“System::Object ^
请问 应该怎么解决?
下面是按钮单击事件的代码:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
listBox1->Items->Clear();
char s[80];
ifstream file("d:\\justfortest.txt",ios::in);
file.getline(s,80);
while(!file.eof())
{
listBox1->Items->Add(s);
}
file.close();
}
------解决方案--------------------------------------------------------
都用CLR了不用CLR的方法来读文件吗……
char[80]不是CLR类型,不从System.Object^派生,故不能转化为Object
可以用&s[0]作为参数,gcnew个System.String^出来,然后再添加进listBox