首页 > 编程语言 >C# WinForm线程里操作控件

C# WinForm线程里操作控件

时间:2023-04-27 09:34:08浏览次数:38  
标签:控件 Thread clock C# t1 线程

做winform程序,避免不了的要在线程里控制窗体上的控件,直接在子线程里操作控件会报错“线程间操作无效,从不是创建控件***的线程访问它”。

解决方法:

private void Form1_Load(object sender, EventArgs e)
{
    Thread t1 = new Thread(t1_clock);
    t1.IsBackground = true;
    t1.Start();
}

public void t1_clock()
{
    while (true)
    {
        //保险起见,可以加上这个判断
        if (this.IsDisposed || !this.IsHandleCreated)
        {
            continue;
        }
        if (this.InvokeRequired)
        {
            this.Invoke(new Action(() =>
            {
               this.textBox1.Text = DateTime.Now.ToString("G");
             }));
        }
        Thread.Sleep(1000);
    }
}

 

标签:控件,Thread,clock,C#,t1,线程
From: https://www.cnblogs.com/xujiecnblogs/p/17356744.html

相关文章

  • Centos 7安装MySQL5.6
    安装步骤  确保之前未安装;若存在则要卸载//查看主机是否已经安装了mysql(如果存在则要卸载)rpm-qa|grepmysql//卸载命令rpm-e--nodeps"上面检索出的mysql安装包"  下载mysql的yum源wget-P/usr/softwarehttp://repo.mysql.com/mysql-community-release-el6-5.no......
  • Using base64 encoding and decoding for file transfer in AX 2012
    Base64BinDataIfyouwanttotransfersmallfiledatausingAXanddonotwanttomakeuseofsharedfoldersorfileuploading,sendingyourfiledirectlyinsideyourXMLmessageasbase64encodedstringisagoodoption.Base64givesyouthepossibil......
  • 小团队真的适合引入SpringCloud微服务吗?
    单体应用时代接口定义持续集成(CI)微服务时代服务拆分原则框架选择架构改造自动化部署链路跟踪运维监控容器化时代架构改造SpringCloud与k8s的融合CI的改造小结微服务是否适合小团队是个见仁见智的问题。回归现象看本质,随着业务......
  • 应用scrapy爬虫框架
    Scrapy是一个基于Python的开源网络爬虫框架,它可以帮助我们快速、高效地抓取网页数据,并支持数据的自动化处理、存储和导出。Scrapy提供了丰富的扩展机制,可以轻松地实现各种自定义需求。Scrapy的基本使用流程:1、安装Scrapy框架2、创建一个Scrapy爬虫项目3、编写爬虫代码,定义要抓......
  • Dockerfile构建镜像常用指令
    1.常用命令Dockerfile是一个文本文件,包含了一条条的指令,在基于指定的镜像上,一条指令构建一层,最终构建出一个新的镜像。关键字作用备注格式FROM指定基础镜像指定基于哪个镜像开始构建FROM<image>:<tag>MAINTAINER作者信息标明这个dockerfile是谁写的(已弃用)......
  • c.__str__()
    >>>type(c)<class'int'>>>>c3>>>type(c.__str__())<class'str'>python中方法名如果是__xxx__()的,那么就有特殊的功能,叫做“魔法”方法__str__方法需要返回一个字符串,当做这个对象的描写......
  • xcode历史版本下载
    一、背景较早之前做过一个项目,当时使用swift3.x开发。项目结束后就没再有新需求与更新。但最近呢需要对项目的某些功能进行调整,项目又重新被拾了起来。我们知道现在的swift版本已经到了5.x,相应的语法上较3.x版本也有了不小的变化。使用最新版本的xcode都已经不支持swift......
  • 出现错误expected token '<' (
    expectedtoken'<'(这个错误通常是因为您的代码所在的环境无法正确解析JSX语法。JSX是React框架中常用的语法扩展,用于在JavaScript中编写类似于HTML的代码。然而,JSX语法需要通过编译器或转换器才能被解析成纯JavaScript代码,因此需要一些额外的配置和工具才能在项目中使用。要......
  • 递归比较两个字典差异-python dict different
    deffindDiff(d1,d2,path=""):forkind1:if(knotind2):print(path,":")print(k+"askeynotind2","\n")else:iftype(d1[k])isdict:......
  • pip安装cuda版torch
    一开始安装torch的时候没有指定cuda版本,所以安装的是cpu版本,无法调用gpu可以使用如下安装方法:pipinstalltorch-fhttps://download.pytorch.org/whl/cu118/torch_stable.html(应该可以用)pipinstall torch --index-urlhttps://download.pytorch.org/whl/nightly/cu......