C#中如何刷新窗体
我想通过主窗体Form1,打开子窗体Form2,Form2中有个文本框,我重新输入数据后点击保存按钮,再次打开Form2时,窗体中文本框的值变成我最新输入的数据了,请问怎...
我想通过主窗体Form1,打开子窗体Form2,Form2中有个文本框,我重新输入数据后点击保存按钮,再次打开Form2时,窗体中文本框的值变成我最新输入的数据了,请问怎么编写啊 ,我用的C#
我想要具体的代码?嘿嘿, 展开
我想要具体的代码?嘿嘿, 展开
6个回答
展开全部
这个方法很多的嘛~!
我这里说一个最简单的了。就是通过读写文件来实现了。 与一些程序记住密码一样的道理。
你在Form2 的 Form2_Closeing 事件里面 把 文本框的值 通过写文件保存起来。
然后再 Form2 加载 事件里面 判断并读取文件。最后赋值到 文本框就搞定了撒。
以下代码仅供参考。
form2 窗体正在关闭事件 的 code:
FileStream fs = null;
StreamWriter sw = null;
try
{
fs = new FileStream(文件路径, FileMode.Create);
sw = new StreamWriter(fs);
sw.Write(内容);
}
catch (Exception ex)
{
//处理文件操作异常的code
//throw ex;
}
finally //操作文件之后一定要释放.避免不必要的麻烦。。。
{
if (sw != null)
{
sw.Close();
sw.Dispose();
}
if (fs != null)
{
fs.Close();
fs.Dispose();
}
}
form2 窗体加载事件 的 code:
FileStream fs = null;
StreamWriter sw = null;
StreamReader sr = null;
try
{
fs = new FileStream(文件路径, FileMode.Create);
sr = new StreamReader(fs);
string content = sr.ReadToEnd();//上一次你保存的内容就是这个
}
catch (Exception ex)
{
//处理文件操作异常的code
//throw ex;
}
finally //操作文件之后一定要释放.避免不必要的麻烦。。。
{
if (sr != null)
{
sr.Close();
sr.Dispose();
}
if (fs != null)
{
fs.Close();
fs.Dispose();
}
}
_______________最好是进行封装下!
我这里说一个最简单的了。就是通过读写文件来实现了。 与一些程序记住密码一样的道理。
你在Form2 的 Form2_Closeing 事件里面 把 文本框的值 通过写文件保存起来。
然后再 Form2 加载 事件里面 判断并读取文件。最后赋值到 文本框就搞定了撒。
以下代码仅供参考。
form2 窗体正在关闭事件 的 code:
FileStream fs = null;
StreamWriter sw = null;
try
{
fs = new FileStream(文件路径, FileMode.Create);
sw = new StreamWriter(fs);
sw.Write(内容);
}
catch (Exception ex)
{
//处理文件操作异常的code
//throw ex;
}
finally //操作文件之后一定要释放.避免不必要的麻烦。。。
{
if (sw != null)
{
sw.Close();
sw.Dispose();
}
if (fs != null)
{
fs.Close();
fs.Dispose();
}
}
form2 窗体加载事件 的 code:
FileStream fs = null;
StreamWriter sw = null;
StreamReader sr = null;
try
{
fs = new FileStream(文件路径, FileMode.Create);
sr = new StreamReader(fs);
string content = sr.ReadToEnd();//上一次你保存的内容就是这个
}
catch (Exception ex)
{
//处理文件操作异常的code
//throw ex;
}
finally //操作文件之后一定要释放.避免不必要的麻烦。。。
{
if (sr != null)
{
sr.Close();
sr.Dispose();
}
if (fs != null)
{
fs.Close();
fs.Dispose();
}
}
_______________最好是进行封装下!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一种办法就是不要关掉form2 而是隐藏。
另一种方法就是在form1中保存一个变量=那个文本框的值。每次保存的时候,把值保存好,然后加载form2的时候,把值赋给文本框。
另一种方法就是在form1中保存一个变量=那个文本框的值。每次保存的时候,把值保存好,然后加载form2的时候,把值赋给文本框。
追问
有具体的代码?我比较笨,不会啊
追答
1.你要关form2的时候,就用form2.Hide(); 要显示就用form2.Show()或者form2.ShowDialog();
2.在form1里定义一个string tempStr = "";
调用form2的时候就新建一个Form2 form2 = new Form2(); form2.ShowDialog(); form2.textbox.Text = tempStr;
按保存的时候就这样tempStr = form2.textbox.Text;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-09-05
展开全部
Form2加载时,从你保存的地方读取内容赋值给文本框
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一个既简单又笨的方法 就是在你打开form2窗体的时候把form1隐藏 在单击保存按钮的时候from2关闭 显示from1
追问
如果我不要隐藏和显示的方法呢?请问还有什么别的方法?
追答
如果不怕消耗性能 可以用一个timer去控制 在from2保存后 启用timer刷新
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询