菜鸟一问?
我想在关闭对话筐的时候将LISTVIEW中的内容保存下来,DEBUG能通过但就是不能建立文件,0字节的文件都不能建立,为什么啊?
private void Form1_Closing(objectsender,System.ComponentModel.CancelEventArgs e)
{
StreamWriter sw=null;
try
{ sw = File.CreateText("save.txt");
ListView.ListViewItemCollection items=listView1.Items;
foreach ( ListViewItem item in items )
{
String string1,string2;
string1=item.SubItems[0].Text;
string2=item.SubItems[1].Text;
sw.WriteLine(string1);
sw.WriteLine(string2);
}
}
catch(Exception excep)
{
MessageBox.Show (excep.Message,"error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
if(sw!=null)
{ sw.Flush();
sw.Close();
}
}
}
问题点数:0、回复次数:2Top
1 楼greatsft(C的使者)回复于 2004-04-04 19:19:26 得分 0
在我机器上跑很正常,可能你的subitmes越界了,你设断点,跟踪下,自己找下原因,就知道了Top
2 楼myhouwei(myhouwei)回复于 2004-04-04 22:59:00 得分 0
单独测试可以,但item.SubItems[0].Text是从一个TEXTBOX读入的;item.SubItems[1].Text放的是路径,是 用openFileDialog的FileName属性得到的.但就是不能建立文件,搞不懂?
//将textBox的内容和openFileDialog返回的路径添加到LISTVIEW中
private void button2_Click(object sender, System.EventArgs e)
{
if(textBox1.Text=="")
MessageBox.Show("请输入游戏名字!","Worning!");
else
{
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
int itemsNumber=listView1.Items.Count;
String name=textBox1.Text;
String path=openFileDialog1.FileName;
String[] subItems=new String[]
{
name,
path
};
listView1.Items.Insert(itemsNumber,new ListViewItem(subItems));
}
}
}
//关闭窗口并保存LISTVIEW的内容到文件
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
StreamWriter sw=null;
try
{ sw = File.CreateText("save.txt"); ListView.ListViewItemCollection items=listView1.Items;
foreach ( ListViewItem item in items )
{ String string1,string2;
string1=item.SubItems[0].Text;
string2=item.SubItems[1].Text;
sw.WriteLine(string1);
sw.WriteLine(string2);
}
}
catch(Exception excep)
{
MessageBox.Show(excep.Message,"error",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
finally
{
if(sw!=null)
{
sw.Flush();
sw.Close();
}
}
}Top




