winform单击按钮重新加载本窗体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform单击按钮重新加载本窗体相关的知识,希望对你有一定的参考价值。
意思大概就是我单击一个按钮,然后本窗体重新加载一下,窗体上的数据全部没有了,窗体又恢复到刚打开那样。求指教!winform的,不是web的。
参考技术A 感觉像是ERP类管理软件的单据清空和浏览单据的效果。清空的话,直接遍例每一种控件,把它们clear掉或者赋值为null就干净啦。
浏览单据的话,直接控制另外赋值就行了嘛,也不用再清空啊。 参考技术B 试试Application.Restart();追问
嗯 ,倒是实现了,可是他会先关闭然后再显示,看着不像刷新的效果。
追答你想要怎么刷新?就是窗体上所有控件消失然后再出现,窗体保持不变?
追问先把窗体的所有控件还原,然后再重新绑定一个数据。类似就是textbox里面有数据,然后单击按钮,然后数据消失出现比其他数据。类似这样的,但是不是textbox控件,这个就比较简单了。我想达到的是先刷新然后再赋值。
追答那你就设置一个按键事件,给控件重新赋值啊
本回答被提问者采纳 参考技术C 加载的意思是啥?重新调用Load方法,还是重新绘制,前者的话手动触发也可以的,后者的话用invalidation()。(手打的没试过,抱歉) 参考技术D 哦,你重新创建一下这个窗体就可以啦。有关于winform的 点击主窗体的按钮隐藏子窗体?
详细点,我是个小白
假设主窗体是Form1,子窗体是Form2, Form3……
在主窗体后台代码 Form1.cs中,点击button1隐藏所有子窗体
private void button1_Click(object sender, EventArgs e)foreach (Form f in Application.OpenForms)
if(f.Name != "Form1") f.Hide();
追问
额,按照你说的写了,但主窗体也消失了~~我只想隐藏子窗体
追答你的主窗体的Name是什么呀?查看一下主窗体的Name属性
if(f.Name != "你的主窗体的NAME") f.Hide();例如,下图
主窗体的Name: FormMain,则
private void button1_Click(object sender, EventArgs e)foreach (Form f in Application.OpenForms)
if(f.Name != "FormMain") f.Hide();
public Form2 frm=new Form2();
显示:
frm.Show();
隐藏:
frm.Hide();
以上是关于winform单击按钮重新加载本窗体的主要内容,如果未能解决你的问题,请参考以下文章
C# Winform自定义控件加载到主窗体中之后,自定控件上面的空间 怎么和主窗体上其他控件交互?
请问Winform里面怎么单击按钮来改变窗体背景图片?(C#)