在C#窗体应用程序中怎么在窗口关闭前保存ListBox中的内容?代码是怎样的?
5个回答
展开全部
我晕,人家问代码怎么写,你们却答非所问
首先命名空间:
using System.IO;
其次listbox添加内容,此步可跳过
listBox1.Items.Add("A");
listBox1.Items.Add("B");
listBox1.Items.Add("C");
listBox1.Items.Add("D");
listBox1.Items.Add("E");
listBox1.Items.Add("F");
最后,在FormClosing事件里添加保存的代码
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
FileStream fs = new FileStream("C:\\tmp.txt", FileMode.OpenOrCreate);
//保存路径可以自己更改
StreamWriter sw = new StreamWriter(fs);
foreach (object item in listBox1.Items)
{
sw.WriteLine(item.ToString());
}
sw.Close();
fs.Close();
}
有事请HI我:)
首先命名空间:
using System.IO;
其次listbox添加内容,此步可跳过
listBox1.Items.Add("A");
listBox1.Items.Add("B");
listBox1.Items.Add("C");
listBox1.Items.Add("D");
listBox1.Items.Add("E");
listBox1.Items.Add("F");
最后,在FormClosing事件里添加保存的代码
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
FileStream fs = new FileStream("C:\\tmp.txt", FileMode.OpenOrCreate);
//保存路径可以自己更改
StreamWriter sw = new StreamWriter(fs);
foreach (object item in listBox1.Items)
{
sw.WriteLine(item.ToString());
}
sw.Close();
fs.Close();
}
有事请HI我:)
展开全部
在事件里学代码,找到窗口关闭之前的的时间,之后些上保存ListBox的代码就ok了
追问
关键是代码怎么写啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sender, EventArgs e)
{
MySqlConnection conn = new MySqlConnection();//数据库连接
MySqlCommand cmd = new MySqlCommand();//命令执行器
try
{
conn = new MySqlConnection("Server=localhost;User Id=root;Password=1234;Persist Security Info=True;Database=mysql");
//连接串格式:
//Server是服务器名,可以是IP地址
//User Id是用户名
//Password是密码
//Database是要操作的数据库名
conn.Open();//打开数据库
cmd = conn.CreateCommand();//创建连接器的命令执行器
cmd.CommandText = "show tables;";//将要执行的SQl语句传给命令执行器
MySqlDataReader reader = cmd.ExecuteReader();//执行数据查询,返回读取器
if(reader.HasRows)//返回结果集不为空
{
while(reader.Read())//移动读取指针到下一条记录(初始时指针在第一条记录之前)
{
string rset = reader.GetString(0);//以字串形式返回第一个字段值
if(!string.IsNullOrEmpty(rset))//数据不为空时
listBox1.Items.Add(rset);//加载到LISTBOX中
}
}
}
catch(Exception err)
{//异常捕获并输出
MessageBox.Show(err.Message + "\r\n" + err.StackTrace);
}
finally
{
cmd.Dispose();//释放命令执行器
conn.Close();//断开数据库连接
conn.Dispose();//释放连接器
}
}
void ListBox1Click(object sender, EventArgs e)
{
int idx = listBox1.SelectedIndex;//得到LISTBOX中单击的行号
string sret = listBox1.Items[idx].ToString();//得到被单击行的文本
if(!string.IsNullOrEmpty(sret))
textBox1.Text = sret;//显示到TEXTBOX中
}
我用的IDE环境是SHARPDEVLOPER,数据库是MYSQL的
有不明白的在线M我,QQ是93803979,其它IDE环境或数据库我现在没有,明天可以给你写
{
MySqlConnection conn = new MySqlConnection();//数据库连接
MySqlCommand cmd = new MySqlCommand();//命令执行器
try
{
conn = new MySqlConnection("Server=localhost;User Id=root;Password=1234;Persist Security Info=True;Database=mysql");
//连接串格式:
//Server是服务器名,可以是IP地址
//User Id是用户名
//Password是密码
//Database是要操作的数据库名
conn.Open();//打开数据库
cmd = conn.CreateCommand();//创建连接器的命令执行器
cmd.CommandText = "show tables;";//将要执行的SQl语句传给命令执行器
MySqlDataReader reader = cmd.ExecuteReader();//执行数据查询,返回读取器
if(reader.HasRows)//返回结果集不为空
{
while(reader.Read())//移动读取指针到下一条记录(初始时指针在第一条记录之前)
{
string rset = reader.GetString(0);//以字串形式返回第一个字段值
if(!string.IsNullOrEmpty(rset))//数据不为空时
listBox1.Items.Add(rset);//加载到LISTBOX中
}
}
}
catch(Exception err)
{//异常捕获并输出
MessageBox.Show(err.Message + "\r\n" + err.StackTrace);
}
finally
{
cmd.Dispose();//释放命令执行器
conn.Close();//断开数据库连接
conn.Dispose();//释放连接器
}
}
void ListBox1Click(object sender, EventArgs e)
{
int idx = listBox1.SelectedIndex;//得到LISTBOX中单击的行号
string sret = listBox1.Items[idx].ToString();//得到被单击行的文本
if(!string.IsNullOrEmpty(sret))
textBox1.Text = sret;//显示到TEXTBOX中
}
我用的IDE环境是SHARPDEVLOPER,数据库是MYSQL的
有不明白的在线M我,QQ是93803979,其它IDE环境或数据库我现在没有,明天可以给你写
追问
谢谢!我现在写的不需要连接数据库,不过还是谢谢你的代码!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把保存内容的代码放到
Window_Closed 或 Window_Closing 的事件里~
Window_Closed 或 Window_Closing 的事件里~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你想要保存到什么地方?
追问
保存到文本文档里面!
追答
用文件流应该可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询