在C#窗体应用程序中怎么在窗口关闭前保存ListBox中的内容?代码是怎样的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#窗体应用程序中怎么在窗口关闭前保存ListBox中的内容?代码是怎样的?相关的知识,希望对你有一定的参考价值。
我晕,人家问代码怎么写,你们却答非所问首先命名空间:
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我:) 参考技术A 在事件里学代码,找到窗口关闭之前的的时间,之后些上保存ListBox的代码就ok了追问
关键是代码怎么写啊?
参考技术B 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环境或数据库我现在没有,明天可以给你写追问
谢谢!我现在写的不需要连接数据库,不过还是谢谢你的代码!
参考技术C 把保存内容的代码放到Window_Closed 或 Window_Closing 的事件里~ 参考技术D 你想要保存到什么地方?追问
保存到文本文档里面!
追答用文件流应该可以
C#在桌面右下角显示Popup窗口提醒
参考技术A Popup窗口提醒实际上就是在屏幕右下角弹出的提示窗口,它的应用十分广泛,如程序得的升级、提示当天的工作内容等,本实例将制作一个动态显示和隐藏的Popup窗口提醒。【关键技术】
本实例主要是使用API函数AnimateWindow来动态显示指定的窗体,并用Control类的SetBounds方法设置窗体的边界。
下面对本实例中用到的关键技术进行详细讲解。
(1)AnimateWindow函数
该函数主要用力实现窗体的动画效果。语法格式如下:
(2)SetBounds方法
该方法将空间的边界设置为指定位置和大小。语法格式如下:
【设计过程】
(1)打开Visual Studio,新建WinForm应用程序,命名为PopupForm。
(2)将默认的Form1窗体命名为FrmMain、作为主窗体。
(3)新建一个FrmInfo窗体,作为动态显示出来的消息窗体。
(4)在FrmMain窗体上放置两个按钮、用来控制FrmInfo消息窗体,一个用于显示,一个用于隐藏。
(5)在FrmInfo中自定义一个ShowForm方法,主要用啦显示从桌面右下角显示Popup提醒窗口的功能:
(6)在FrmInfo窗体中自定义一个CloseForm方法,该方法中首先调用API函数AnimateWindow动画隐藏窗体,然后将窗体的状态设置为隐藏:
(7)在这里,需要说明的是,如果没有把FrmInfo的FormBorderStyle设置为None、也就是说、如果有变宽的话、
使用AnimateWindow动态显示时边框不会动态显示的、所以在这里我把FrmInfo设置为了没有边框,
还有一个问题、如果用户在FrmInfo上Alt+F4关闭了、那么就不能访问FrmInfo类中定义的那个成员变量了、所以在这里使用了单例设计模式、并在FormClosing中重新清空FrmInfo的成员变量为null、
【附注:使用Screen类获取桌面的大小】
Screen类表示单个系统上的一个或多个显示设备,其PrimaryScreen属性用来获取主显示,该属性返回一个Screen对象,而调用Screen对象的WorkingArea属性可以获取显示器的工作区,也就是桌面的大小。
----->>>>>>>>>>>>>>>> 详细工程源码 <<<<<<<<<<<<<<<-------
以上是关于在C#窗体应用程序中怎么在窗口关闭前保存ListBox中的内容?代码是怎样的?的主要内容,如果未能解决你的问题,请参考以下文章
款式修改窗口,开发调整过窗口格局保存功能,关了窗口重新打开还是按关闭前的格局.