winform刷新窗体数据(winform中一个窗口关闭后在主窗口上自动刷新显示的数据谢谢)
本文目录
- winform中一个窗口关闭后在主窗口上自动刷新显示的数据谢谢
- C# winform怎么实现子窗体关闭时刷新父窗体数据
- winform中数据库更新后如何让窗体自动刷新大概有100个客户端,如果用Timer,那效率太低了,请高手指教
- winform中窗体间传值并刷新
- winform中(当数据库的数据有变化时)datagridview 刷新的问题
- C# winform中实现暂停,结束,实时刷新父窗体数据
- winform 界面上怎么做到时时检测是否有新数据.有就刷新界面数据
- winform关闭新窗口,原窗口如何刷新显示
- winform的窗口刷新问题:
winform中一个窗口关闭后在主窗口上自动刷新显示的数据谢谢
在主窗体写:
form2 frm=new form2; if (frm.ShowDialog() == DialogResult.OK) { //在form2关闭了,并且是OK的时候才执行 } //然后在form2窗体的确定按钮事件里写,这样在点击form2的确定键后关闭form2提 //示主窗体你点击的是确定键, this.DialogResult = DialogResult.OK; this.Close();
C# winform怎么实现子窗体关闭时刷新父窗体数据
方法1:在子窗体的colsing事件中,调用父窗体的刷新方法;方法2:子窗体ShowDialog(),父窗体接收DialogResult.OK时刷新;方法3:增加程序协调员的角色,设计界面协调者对象实现。
winform中数据库更新后如何让窗体自动刷新大概有100个客户端,如果用Timer,那效率太低了,请高手指教
如果是自动刷新窗体中数据表,那太简单了.更新数据的函数后,加一个让引用 dataGridViewRefesh(); 这样dataGridView重新加载并刷新数据了.void dataGridViewRefesh(){ dataGridView1.DataSource = null; SqlConnection con = new SqlConnection(@“server=(local);Integrated security=SSPI;database=你的数据库名“); SqlDataAdapter Ader=new SqlDataAdapter(“select * from .DefaultView; dataGridView1.Refresh(); Dset.Dispose(); Ader.Dispose(); con.Close();}
winform中窗体间传值并刷新
我做过这个。。 就是在要打开的窗口重载下构造函数。把第一个窗口的值传入构造函数中,再在第二个窗口中读取就行~public s_Form() { InitializeComponent(); } public s_Form(Student model) { InitializeComponent(); txt_SNO.Text = model.SNO; txt_SNAME.Text = model.SNAME; txt_SSEX.Text = model.SSEX; txt_SBIRTHDAY.Text = model.SBIRTHDAY; txt_CLASS.Text = model.CLASS; }重载构造函数 在主窗口 Student model = new Student(); model.SNO = dv_Info.SelectedRows.Cells.Value.ToString(); model.SNAME = dv_Info.SelectedRows.Cells.Value.ToString(); model.SSEX = dv_Info.SelectedRows.Cells.Value.ToString(); model.SBIRTHDAY = dv_Info.SelectedRows.Cells.Value.ToString(); model.CLASS = dv_Info.SelectedRows.Cells.Value.ToString(); s_Form sf = new s_Form(model); //调用带参的构造函数 参数就穿过去了主要代码。。。
winform中(当数据库的数据有变化时)datagridview 刷新的问题
winform有一个特点,只要你将数据源变化了,datagridview自然就变化了。你如果不想每隔几秒刷,我这有两个办法。一,记录你每次修改每张表的时间。也就是你对这个表中的数据进行增删改操作,就在数据库里把这个表的更新时间记录一下。然后在打开这个窗体进行查询的时候,同时获得这个时间,剩下的,你在timer里去拿你查询时记录的这个时间去和表中记录的时间去比较,不一样了,就说明改变了,你就重新读一遍数据去刷新grid二,如果你的SQL版本是2005及以上,可以利用SqlDependency来实现,关于这个类的具体用法你可以百度一下,我说一下功能,就是建立一个数据库依赖,当数据库表一旦发生变化时,会自动触发.net程序中的一个方法,在这个方法中你去重新获取数据,更新你的数据源。
C# winform中实现暂停,结束,实时刷新父窗体数据
假设有A,B两个窗体,B窗体时由A窗体弹出的A-》B实现思路:在A窗体上写个方法:public void setText(string value){ textbox1.text=value}B窗体中声明一个委托public delegate void GetTextDel(string value);public delegate Seter; //这个写在类,里面哦!!然后修改B窗体的构造函数:public B( GetTextDel del){ .....Seter=del;}在textbox2的Textchange事件中填写以下代码Seter.invok(textbox2.text);或Seter(textbox2.text); 以上是准备工作在A窗体上调用new B(setText).showdialog();最后,当你在textbox2中输入什么,texbox1中就显示立即显示在B窗体的中的数据ok到这里你想要的功能就完成了,望采纳哈,根据你的实际情况改改就可以了
winform 界面上怎么做到时时检测是否有新数据.有就刷新界面数据
我简单做了一个程序,用于给楼主一些思路。以下代码可以新建winform工程后直接粘贴到Form1.cs文件里去执行。 画面上拖两个textbox控件,分别命名为txtold,txtnew。运行效果是,在txtold输入值时,txtnew可以时时显示txtold的数据。做法是,不使用textbox自带的textchanged事件,而是用线程和委托给txtnew赋值,避免了你使用timer控件每秒刷新造成画面卡顿的效果。 PS:时时刷新时,不建议时时从数据库取值,效率很低,还影响服务器的速度,用户体验不好切记切记 具体实现方式看以下代码,注意有 //*****标记的那几行注释。 =============================================using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Threading;namespace refresh{ public partial class Form1 : Form { private Thread m_tRefresh; public Form1() { InitializeComponent(); } /// 《summary》 /// 画面加载时 /// 《/summary》 /// 《param name=“e“》《/param》 protected override void OnLoad(EventArgs e) { base.OnLoad(e); //开启一个时时刷新数据的线程 m_tRefresh = new Thread(new ThreadStart(refreshData)); m_tRefresh.Start(); } /// 《summary》 /// 获取画面当前是否正在关闭的flag /// 《/summary》 private bool m_IsOnClosing = false; /// 《summary》 /// 画面关闭时 /// 《/summary》 /// 《param name=“e“》《/param》 protected override void OnClosing(CancelEventArgs e) { base.OnClosing(e); //画面关闭事件正在执行时把m_IsOnClosing设为true m_IsOnClosing = true; //如果画面关闭时线程还开启,那么把他关掉 if (m_tRefresh.IsAlive) { m_tRefresh.Abort(); } } /// 《summary》 /// 线程执行的时时刷新数据的函数 /// 《/summary》 private void refreshData() { //while true,达到时时的目的 while (true) { try { //*****判断新txtbox和旧txtbox的值是否一样,不一样的话,把旧的值赋给新的 //*****在这里只是用两个文本框举例,你可以换成其他的, //*****例如周期从其他类里取值,周期从其他画面取值,周期从数据库取值,等等 //*****但时时刷新时,不建议时时从数据库取值,效率很低,还影响服务器的速度,用户体验不好 if (txtnew.Text != txtold.Text) { if (txtnew.InvokeRequired) { //如果给txtnew设值时是在线程中,那么使用委托给他赋值 SetTextCallback s = SetText; txtnew.Invoke(s, txtold.Text); } else { //如果不在线程中,那么直接赋值 txtnew.Text = txtold.Text; } } } catch (Exception ex) { //一些例外处理 if (!m_IsOnClosing) { MessageBox.Show(ex.ToString()); } else { if (m_tRefresh.IsAlive) { m_tRefresh.Abort(); } } break; } } } /// 《summary》 /// 给txtbox设值的委托 /// 《/summary》 /// 《param name=“text“》《/param》 delegate void SetTextCallback(string text); /// 《summary》 /// 设值函数 /// 《/summary》 /// 《param name=“text“》《/param》 private void SetText(string text) { text = text.Replace(“\0“, ““); if (txtnew.InvokeRequired) { SetTextCallback s = SetText; txtnew.Invoke(s, text); } else { txtnew.Text = text; } } }}
winform关闭新窗口,原窗口如何刷新显示
我做过。你在show一个新窗口(ShowDialog())的后面重新调用查询信息的方法就可以了。因为当你用ShowDialog()打开一个新的窗体之后,本窗体下面的代码就不会执行了。一直等到你关闭新窗体,也就是这个添加新数据的窗体之后。原窗体的代码会继续执行,所以就可以刷新数据了。执行的时候断点一下就明白了。
winform的窗口刷新问题:
MainForm mf=new MainForm();你这句是重新建一个实列, mf.refresh();是对你新建的这个实列操作,跟你原先已经打开的MainForm 没有什么关系,所以你当然看不到刷新了。修改方法1:如果你的详细信息界面ConfigurationForm 是在MainForm下用ShowDialog方式打开,那就直接在MainForm里刷新MainForm的代码:using (ConfigurationForm frm = new ConfigurationForm()){ frm.ShowDialog(); this.refresh(); }修改方法2:如果你想在详细信息界面ConfigurationForm写刷新代码,那就像如下这么写:((MainForm)this.Owner).refresh();当然前提也是从MainForm打开ConfigurationForm修改方法3:如果你是从MissionForm 打开ConfigurationForm 那就在构造函数MainForm传过去。先传给MissionForm,再从MissionForm传给ConfigurationForm不在构造函数传,自己写个方法也可以,这个代码多一点,我就不写了
更多文章:

c 和c 哪个用处大(维生素C的具体作用是什么每天吃多少维生素c比较合适)
2025年2月19日 01:50

js是什么软件(解释js ajax和cgi各是什么工具在b/s中起什么作用)
2025年2月14日 07:00

ckeditor5图片上传(ckeditor上传图片php 网上垃圾信息好多都是复制的没用求解答)
2025年3月20日 09:20

velocity global(英语作文 怎么拯救我们的星球80词以内 速求!!!)
2025年3月14日 15:40

个人博客选择wordpress还是typecho好呢?如何让emlog支持代码高亮
2025年2月9日 17:40

plc教程pdf(《西门子S7-200 PLC编程实例精解》 PDF版 ,完整版的)
2025年3月18日 13:30

simplicity是什么意思(请问simplicity翻中文是什么意思)
2025年3月22日 13:20

vb6 0企业版下载(Visual Basic(VB) 6.0 简体中文专业企业版 在哪儿可以下载)
2025年2月10日 07:10

currency的意思是什么(Currency是什么意思啊)
2025年2月28日 04:00

通用对话框控件是什么(控件是什么和对话框,窗口之间有什么区别)
2025年4月1日 06:40