实时刷新winform中的某一个控件上的文字

需要注意的是,必须从UI线程,另外启动一个线程才可以。

在新线程调用异步刷新就OK了

 Thread thread;

        private void button1_Click(object sender, EventArgs e)
        {
            thread = new Thread(new ThreadStart(AnotherRefresh));
            thread.IsBackground = true;
            thread.Start();
        }

        private void AnotherRefresh()
        {
            MyRefresh("hello world");
            Thread.Sleep(1000);
            MyRefresh("Bye Bye");
        }

        private void MyRefresh(string str)
        {
            try
            {
                this.Invoke((MethodInvoker)delegate()
                {
                    textBox1.Text = str;
                });
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
时间: 2024-08-10 19:57:35

实时刷新winform中的某一个控件上的文字的相关文章

c#winform中如何修改ListView控件每个单元格的颜色

ListView在View属性为Details的时候它呈现的方式和DataGirdView差不多,它的每一行都是一个ListViewItem,然而每个ListViewItem都有一个BackColor的属性,但是设置了这个属性却没有任何作用.因为是ListView的每一行的样式都继承的父控件的样式所以无法改变. 解决方案: ListViewItem item; item = new ListViewItem(new string[] { "NAME","" });

winform中,如何控制控件位置随窗体的大小改变而改变

winform中,如何控制控件位置随窗体的大小改变而改变 有如下3种方法: 方法1 [csharp] view plaincopy using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace MarkPrint

C# winform中获取多重布局控件属性

问题描述: 在一个form窗体中定义了一个tabcontrol控件,tabcontrol包含多个page,每个page有自己的panel容器,容器里面有自定义的webnavigationbox控件,webnavigationbox控件中又包含了一个textbox控件. 现在要获取被选中的一个标签页的的textbox控件的文本内容. 思路:在tabselected响应事件中添加代码才能实时获取 注意:如果使用一下代码将会出错 _tabs.Selected += new System.Windows

C# WinForm中使用WPF的控件

步骤1:创建WinForm工程 步骤2:在刚刚创建的WinForm工程中新建或者添加现有的WPF用户自定义控件 <UserControl x:Class="wndFormTest.ComBoBoxButton" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml&q

Android自定义控件系列七:详解onMeasure()方法中如何测量一个控件尺寸(一)

转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45027641 自定义view/viewgroup要重写的几个方法:onMeasure(),onLayout(),onDraw().(不熟悉的话可以查看专栏的前几篇文章:Android自定义控件系列二:自定义开关按钮(一)). 今天的任务就是详细研究一下protected void onMeasure(int widthMeasureSpec, int heightMeasureSpe

winform中如何使用timer控件实现欢迎(初始加载)窗口

第一步.新建窗体项目命名为:TestWelcomeFrm,如下图: 第二步.在新项目中,增加欢迎窗口,命名为WelFrm,整个项目目录如下: 第三步.修改program.cs中启动代码如下: WelFrm welFrm = new WelFrm(); if (welFrm.ShowDialog() == DialogResult.OK) { Application.Run(new ManiFrm()); } 第四步.修改welFrm窗口,增加Timer触发器控件,并设置其触发事件为:timer1

WinForm/Silverlight多线程编程中如何更新UI控件的值

单线程的winfom程序中,设置一个控件的值是很easy的事情,直接 this.TextBox1.value = "Hello World!";就搞定了,但是如果在一个新线程中这么做,比如: private void btnSet_Click(object sender, EventArgs e){        Thread t = new Thread(new ParameterizedThreadStart(SetTextBoxValue));    //当然也可以用匿名委托写成

Qt qml中listview 列表视图控件(下拉刷新、上拉分页、滚动轴)

Qt qml中listview 列表视图控件(下拉刷新.上拉分页.滚动轴) 来源 https://www.cnblogs.com/surfsky/p/4352898.html 设置ListView涉及到将contentsY,即视图的可见部分的顶部,设置y为委托的值.另一个更改是interactive将视图设置为false.这样可以防止视图移动.用户不能再滚动列表或更改当前Item. contentY为列表上拉后列表左上角点距显示框左上解点的高度listView1.height为可显示部分的高度,

WPF中一个控件绑定另一个控件的属性

原文:WPF中一个控件绑定另一个控件的属性 如同一个Grid中的一个按钮根据另一个按钮的显示与否作出不同的响应: 绑定的时候通过ElementName来指定控件 <Grid Margin="50,130"> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition Width="40"/> </Grid.ColumnDefinitions>