• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

winform保存当前窗体文本框值的问题

wbcn 2007-03-30 04:55:00
点[确定]保存当前窗体文本框的值,下次打开程序该窗体(包括重新开机打开程序),文本框为上次保存的值.
不能用数据库和文件保存方式,如何来实现啊!
请高手指点啊(有代码更好)!
...全文
217 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
happyhippy 2007-03-31
下次打开程序该窗体(包括重新开机打开程序),文本框为上次保存的值.
不能用数据库和文件保存方式,如何来实现啊!
---------------------------------------------------------
????????????????????????
注册表从本质上讲还是文件!
你总得找个地方存放吧!
回复
曲滨_銘龘鶽 2007-03-31
1. 用户配置文件(这种最方便可以帮定的,在设计界面就可以设置),vs2005
2. .net 应用程序隔离区, 都在后面那个名称空间里 “System.IO.IsolatedStorage”
3. 注册表
---- 以上几种重做系统都会消失
4. 自己找地方写到任何地方,在自己读出来
回复
zouqiang122 2007-03-31
up...
回复
-渔民- 2007-03-31
写入xml也可以,或二进制存入你指定的文件类型中
回复
ristona 2007-03-31
我有两个建议,一个简单直接点,用Setting,另一个可以参考UIP的思想用序列化的方式把这个值保存下来,下面打开先判断有没有保存的东西,如果有,反序列化,再赋值.
回复
sz709 2007-03-31
学习..
回复
wbcn 2007-03-31
请问除了写入注册表外,还有其他的方法么?
回复
Kencxj 2007-03-30
楼上的,见识了
回复
王集鹄 2007-03-30
private string fileName;
private void Form1_Load(object sender, EventArgs e)
{

fileName = Path.ChangeExtension(Application.ExecutablePath, ".txt");
if (File.Exists(fileName))
using (StreamReader vStreamReader = new StreamReader(
fileName, Encoding.Default))
textBox1.Text = vStreamReader.ReadToEnd();

}

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
using (StreamWriter vStreamWriter = new StreamWriter(
fileName, false, Encoding.Default))
vStreamWriter.Write(textBox1.Text);
}
回复
你可以参考下面的代码来操作了:
private void button1_Click(object sender, EventArgs e)
{
string m_Setup = "我程序中的TextBox";
string regPath = @"SOFTWARE";
RegistryKey rk = Registry.LocalMachine.OpenSubKey(regPath, true);
if (rk != null)
{
rk.DeleteSubKey(m_Setup, false);
RegistryKey setupRk = rk.CreateSubKey(m_Setup);
if (setupRk != null)
{
setupRk.SetValue("Text", this.textBox.Text);
setupRk.Close();
}
rk.Close();
}
}
回复
写入注册表啊

除了你说的数据库和文件,另一个注册表记录最合适不过了.
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2007-03-30 04:55
社区公告

让您成为最强悍的C#开发者