C#中如何刷新窗体

2025-01-01 05:59:35
推荐回答(5个)
回答1:

不要从窗体刷新的角度考虑,无论在winform,webform还是wpf中,窗体都不能刷新
因为在Form1中存在Form2的对象,所以可以直接在btnClick的时候用form2.TextBox.Text赋值去改变
或者自己写个委托事件,在btnClick的时候抛出去,在form2中注册,并在处理函数中去给textbox赋值

回答2:

这个方法很多的嘛~!

我这里说一个最简单的了。就是通过读写文件来实现了。 与一些程序记住密码一样的道理。

你在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();
}
}
_______________最好是进行封装下!

回答3:

一种办法就是不要关掉form2 而是隐藏。
另一种方法就是在form1中保存一个变量=那个文本框的值。每次保存的时候,把值保存好,然后加载form2的时候,把值赋给文本框。

回答4:

Form2加载时,从你保存的地方读取内容赋值给文本框

回答5:

一个既简单又笨的方法 就是在你打开form2窗体的时候把form1隐藏 在单击保存按钮的时候from2关闭 显示from1