精华内容
下载资源
问答
  • 1,设定个别控件的双缓冲: public static void SetDoubleBuffered(object obj) { Type type = obj.GetType(); PropertyInfo pi = type.GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags...

    1,设定个别控件的双缓冲:

     public static void SetDoubleBuffered(object obj)
            {
                
                Type type = obj.GetType();
                PropertyInfo pi = type.GetProperty("DoubleBuffered",
                    BindingFlags.Instance | BindingFlags.NonPublic);
                pi.SetValue(obj, true, null);
            }
    

    2,跳过系统消息

    protected override CreateParams CreateParams
     {
     get
        { 
                    CreateParams cp = base.CreateParams;
                    cp.ExStyle |= 0x02000000;
                    return cp;
        } 
     }
    

    3,整个form的双缓冲(基本没有啥用)

    this.DoubleBuffered = true;//设置本窗体 
     SetStyle(ControlStyles.UserPaint, true); 
     SetStyle(ControlStyles.AllPaintingInWmPaint, true); // 禁止擦除背景. 
     SetStyle(ControlStyles.DoubleBuffer, true); // 双缓冲
      SetDoubleBuffered(PanelIndex);
     SetDoubleBuffered(PanelControl);
    

    4,跳过系统的信息

      protected override void WndProc(ref Message m)
     {
                     if (m.Msg == 0x0014) // 禁掉清除背景消息
                       return;
                     if(m.Msg == 0xf)
                    return;
                if (m.Msg == 0x88)
                    return;
                base.WndProc(ref m);
            }
    
    展开全文
  • Install install = new Install(); install.MaximizeBox = false; install.ShowDialog(); ... ocnn = new OleDbConnection...但是第二次更改后就不自己刷新了,还要我手动去点下别内容的才刷新。这是为什么?
  • 最近做winform页面控件很多,页面第一次载入或者动态禁用、显示时页面闪烁得很厉害;根据网上说的加页面缓存之类的都没什么用,偶然从外国的一个论坛中找到了解决办法,原贴已经找不到了;贴上国外小哥的代码 1 ...

    最近做winform页面控件很多,页面第一次载入或者动态禁用、显示时页面闪烁得很厉害;根据网上说的加页面缓存之类的都没什么用,偶然从外国的一个论坛中找到了解决办法,原贴已经找不到了;贴上国外小哥的代码

    1 protected override CreateParams CreateParams
    2         {
    3             get
    4             {
    5                 CreateParams cp = base.CreateParams;
    6                 cp.ExStyle |= 0x02000000;
    7                 return cp;
    8             }
    9         }

    代码放在窗体的任意位置,其次就是窗体的Opacity属性要设为100%,否则还是会有闪烁。

    转载于:https://www.cnblogs.com/henryzong/p/6209832.html

    展开全文
  • WinForm刷新其他页面的方法

    千次阅读 2007-05-25 21:32:00
    有时候在一个窗体中修改、添加或者删除数据后要在另外一个窗体的数据表中(如datagrid、datalist)中及时的反映更新的信息,这时必须对数据表进行刷新。可以通过对绑定数据源进行更新,如绑定源是一个Table表,则在...

    有时候在一个窗体中修改、添加或者删除数据后要在另外一个窗体的数据表中(如datagrid、datalist)中及时的反映更新的信息,这时必须对数据表进行刷新。

    可以通过对绑定数据源进行更新,如绑定源是一个Table表,则在子窗体中加入代码:

    dataTable.AcceptChanges();

    另外一个方法:重新设置数据源,这个方法更加简单,首先把原来的datasource=null;在重新设置:datasource=dataTable;

     

    展开全文
  • Winform页面同步刷新

    2021-04-15 08:30:12
    [img=https://img-bbs.csdn.net/upload/202104/15/1618446550_748751.png][/img]... 类似于这样的多页面窗体,在一个页面修改数据后,点击其他页面时,其他页面数据也进行实时更新。几个页面之间的数据可能是联动的
  • C#winform 界面刷新

    2021-04-21 13:39:32
    1. 跨线程界面更新 1.1通过委托更新界面 public delegate void RefreshInterface(int num);//创建委托,含有一个参数num bool MyThreadIsRun = false;//用来控制线程状态 private Thread MyThread = null;...

    1. 跨线程界面更新

    1.1通过委托更新界面

    public delegate void RefreshInterface(int num);//创建委托,含有一个参数num
    bool MyThreadIsRun = false;//用来控制线程状态
    private Thread MyThread = null; //创建线程
    
    private void button1_Click(object sender, EventArgs e)
    {
        MyThreadIsRun = !MyThreadIsRun;//切换线程状态
        MyThread = new Thread(Method);//实例化线程对象传递参数
        MyThread.Start();//开启线程
    }
    
    /// <summary>
    /// 线程所需方法
    /// </summary>
    public void Method()
    {
        RefreshInterface dele = new RefreshInterface(RefreshInterfaceMethod);//给委托对象传递值
        for (int i = 0; i < 1000000; i++)
        {
            if (!MyThreadIsRun)
                break;//当线程状态为false则退出循环
            this.Invoke(dele, i);//执行指定委托,将i的值传递给委托执行方法,更新界面数据
        }
    }
    
    /// <summary>
    /// 委托所需方法
    /// </summary>
    /// <param name="num">接收传递的值</param>
    public void RefreshInterfaceMethod(int num)
    {
        textBox1.Text = num.ToString();//给显示框赋值
    }
    
    /// <summary>
    /// 关闭窗体事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
    
        MyThreadIsRun = false;//关闭线程
        //保证程序退出前,关闭线程(之所以有这个提示框,是为了线程彻底关闭,否则当关闭时,线程可能在执行过程中会出错)
        MessageBox.Show("谢谢使用");
    }
    
    

    1.2 通过Invoke更新

    //1.通过点击时间开启线程
    private void btn_Click(object sender, EventArgs e)
    {
    	Thread th = new Thread(A);
    	th.Start();
    }
    
    //2.在线程中使用Invoke更新界面
    public void A()
    {
    	//循环更新界面20次,每次睡眠200毫秒,
        for (int i = 0; i < 20; i++)
        {
            Invoke(new EventHandler(delegate
            {
                label.Text = "关闭" + i;
            }));
            Thread.Sleep(200);
        }
    }
    

    2 跨窗体更新界面

    2.1 直接更新

    	Application.OpenForms[“窗体名称”].Controls[“控件名称”].Visible = true;
    

    2.2 获取窗体实例对象更新

    
    //1.在A中实例化B的对象,调用B窗体,传递A窗体实例化对象
    B B = new B(this);
    B.ShowDialog();
    
    //2.在B窗体的构造函数获取A窗体的实例化对象
    A _a;
    public B(A a)
    {
      InitializeComponent();
      _a = a;
    }
    
    //3.在B中使用A的实例,更新A界面的数据和属性
    public void MyFun()
    {
      _a.lbl1.Text = "更新后Text";
    }
    
    展开全文
  • C#winform界面刷新

    万次阅读 2016-05-30 14:08:02
    本文要实现的功能,是使用C#语言自动刷新页面。这个功能使用Timer可以很容易地实现。这里需要实现的自动刷新功能,要求可以从指定的几种选项里自由设置自动刷新的时间间隔。 我实现的效果如下图,这个DEMO定时...
  • 是这样,我有winform页面,上面有19个label和19个textbox,当我打开这个窗体的时候,页面刷新慢,一卡一卡的,请问这是怎么回事啊?如何让这个窗体快速的显示出来啊?感觉在打开的时候好像就是在刷新那些lable和...
  • Winform实时刷新界面的正确姿势

    千次阅读 2021-03-13 17:32:40
    最近在审核工程师代码的时候,一个简单的工厂自动化软件,结果看到了居然用Timer来刷新界面通过串口过来的数据... 难怪工厂测试人员一直给我反馈说我们这个系统有时候会很卡! 这样的方式来处理界面的呈现不卡死才...
  • 四、C# winform 局部刷新winform界面程序时,经常会遇到后台处理占用大量时间的情况,这就会造成界面假死状态。一般解决界面假死有两种方式:要么把占用大量时间的处理方式放入其他线程;要么把界面显示放入其他...
  • [Winform]winform 刷新父窗体(转)

    千次阅读 2016-04-10 13:58:58
    网络上有几种方法,先总结如下:调用窗体(父):Form1,被调用窗体(子):Form2方法1: 所有权法//Form1://需要有一个公共的刷新方法public void Refresh_Method(){//...}//在调用Form2时,要把Form2的所有者设为...
  • 写一个查询导出工具,下拉选择SQL Server和oracle两种数据库进行查询且导出excel文档。 中间发现当选择sql server数据库,在textbox输入各种数据后不提交,重新选择oracle数据库,这些输入的数据还在。...
  • /// 刷新后,执行这个方法,恢复到以前状态 /// /// <param name="treeNode"></param> /// <param name="treeView"></param> public static void SetTreeNodeState(TreeNode treeNode, TreeView treeView) { ...
  • 3 刷新列表后,重新设置滚动条位置值 dataGridView1.FirstDisplayedScrollingRowIndex = VerticalScrollIndex; dataGridView1.HorizontalScrollingOffset = HorizontalOffset; ...
  • 可实现在子窗体执行完某一操作后同步刷新父窗体,主要通过委托事件实现。
  • this.DialogResult = DialogResult.OK;//可以理解点击按钮触发从(全局变量中获取enum的定值) if (addForm.ShowDialog() == DialogResult.OK) { LoadData();//刷新dataGridView控件中的数据库内容 } 转载...
  • 我加了thread.sleep,它只是页面停了一秒,但是数据是瞬间全部变化, 根本就没有出现先信息变为空再停一秒钟再出现信息的变化过程。 这怎么整?虽然做不做没啥区别,但是有这个刷新的效果看着更好一点。
  • 学习就是一个不断积累的过程,每一天能够学到一点新东西说明自己就在进步...HTML head 里面设置页面自动刷新功能兼容Ie页面2s自动刷新一次代码:DocumentHello worldPHP 页面自动刷新可借助JS来实现,简单示例如下:...
  • 存在这样一种需求:父窗口A创建了子窗口B,B在显示处理的的时候,需要把一些信息的信息刷新到A上,但是WinForm一般不允许直接通过A的对象刷新,况且B都不知道是谁调用的它(不知道父窗口是谁)。 一般利用委托实现 ...
  • 首先 有两个form窗体 Form1,Form2和一个usercontrol usercontrol1 1、在Form1窗体中有一个 splitContainer1容器控件 splitContainer1.panle1中有一个button ...这样就可以对usercontrol中的控件进行刷新了 hoho~
  • 问题1:GetDC系绘图API不可用,表现为画出来的内容会被立即刷新掉,这个应该不算bug, 解决方法: 把所有的绘图操作放到WM_ERASEBKGND和WM_PAINT消息处理函数里,这个应该满足大多数情况下的要求,特殊情况可以使用加...
  • winform中控件数据刷新

    千次阅读 2009-03-06 14:43:00
    一个郁闷的问题,在B/S结构的系统中要做到刷新数据但无刷新效果是很简单...呵呵,原因是这样的: 在我的MainForm页面我添加了一个自定义控件UserControl,使用时我用他来绑定数据,但是我又想让他做到时时刷新,然后我
  • C# Winform刷新另一窗口

    2009-08-13 13:02:00
    在写程序时有时会遇到新建一个窗口,填写某些信息后再刷新原窗口。比如再新窗口添加新管理员,点击确定提交后再刷新原始窗口的管理员列表。听起来貌似是很简单,只要再调用一下绑定管理员列表的函数就可以了,但在新...
  • 需要刷新的窗体加载时自动绑定 HelpClass类 里面的 事件tvChange 然后触发多窗体同时刷新时 调用HelpClass类 里面的tvChange()方法; public delegate void TreeViewChange(); public static event ...
  • 接收传值页面 public CIL_Currency_Add(string button, string CurrencyCode, string Txt) : this() { Action = button; this.Text = Action; CurrencyCodeEdit.Text = CurrencyCode; TxtEdit.Text = Txt; }
  • 目前在使用ASP.NET技术做...在这种情况下aspx页面负责显示网页的前端,cs文件负责网页的逻辑处理(及后台),然而,在页面中嵌入javascript也是可以处理相关逻辑的。所以,当遇到一种情况:不需要前端页面,只有后台...
  • C#WinForm,多线程快速刷新界面。没什么高级技术。只希望能解决一下需要多线程与UI快速交互的朋友的问题。
  • 1.其实实现主窗体的刷新无非就是比较简单的调用load事件重新加载数据绑定,但是这样的效果会带来,无状态刷新页面无法保存上一次的页面状态,比如 刷新刷新后 ,如果点击刷新按钮执行的话,那么树形菜单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,841
精华内容 1,136
关键字:

winform页面刷新