知识大全 C# 跨线程调用TextBox方法浅析

Posted

篇首语:事常与人违,事总在人为。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C# 跨线程调用TextBox方法浅析相关的知识,希望对你有一定的参考价值。

C# 跨线程调用TextBox方法浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    首先来看下面代码     主线程     delegate void SetTextCallback(string text)     private void SetText(string text)        if (this textBox InvokeRequired)        SetTextCallback d = new SetTextCallback(SetText)     this Invoke(d new object[] text )         else        this textBox Text = text;            private void BtnMainThread_Click(object sender EventArgs e) //主线程调用textBox         this textBox Text = Main Thread ;        子线程     private void BtnNewThread_Click(object sender EventArgs e) //子线程调用textBox         this demoThread = new Thread(new ThreadStart(this NewThreadSet))     this demoThread Start()         private void NewThreadSet()        this SetText( New Thread )         首先需要对 this textBox InvokeRequired 返回值的解释     当主线程调用其所在的方法时返回 False     当子线程调用其所在的方法时返回 True     当单击 主线程调用textBox 时     this textBox InvokeRequired 的返回值为 False     直接执行 else 的代码 textBox 中显示 Main Thread     当单击 子线程调用textBox 时     this textBox InvokeRequired 的返回值为 True     执行    SetTextCallback d = new SetTextCallback(SetText)     this Invoke(d new object[] text )     这两句代码 其中Invoke的作用是 在拥有控件的基础窗口句柄的线程上 用指定的参数列表执行指定委托     a 在拥有控件的基础窗口句柄的线程上 就是指主线程     b 指定的参数列表 是指的参数 text     c 指定委托 是指 SetText 方法     这样就很容易看出     代码执行到 Invoke 后就会把子线程的参数 New Thread 交给主线程去执行 SetText 方法 此时由于是主线程调用SetText方法 所以this textBox InvokeRequired的返回值为False 直接执行else的代码 textBox 中显示 New Thread cha138/Article/program/net/201311/12241

相关参考

知识大全 在C#中跨线程访问Winform控件

在C#中跨线程访问Winform控件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在程序需要读

知识大全 Visual C#多线程参数传递浅析

VisualC#多线程参数传递浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我们在写Rem

知识大全 c#异步调用的几种方式

  首先我们分析一下异步处理的环境  需要在当前线程中获取返回值  不需要在当前线程中获取返回值但是仍然需要对返回值做处理  对于第中情况还可以继续细分  在当前线程中启动线程T然后继续执行当前线程中

知识大全 C# 让TextBox只允许输入数字

C#让TextBox只允许输入数字  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  publicc

知识大全 C# TextBox事件实现实例详解

C#TextBox事件实现实例详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  C#TextB

知识大全 c#鼠标点击TextBox控件后清空默认字体

c#鼠标点击TextBox控件后清空默认字体  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  方案

知识大全 c#做的计算器,如何在下次输入数字时,textbox里的结果自动清除

c#做的计算器,如何在下次输入数字时,textbox里的结果自动清除你可以增加一个按钮控件,命为清空具体是双击控件,进入后台编写代码即可实现publicvoidButton_click(.....)t

知识大全 c#实现文字由左向右滚动

  在C#中可以通过Label控件TextBox控件窗体和PictureBox控件来显示文字窗体和PictureBox控件主要是通过DrawString方法实现而TextBox控件和Label控件是专

知识大全 Java多线程实现异步调用

Java多线程实现异步调用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在JAVA平台实现异步

知识大全 VisualC#多线程参数传递浅析

VisualC#多线程参数传递浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我们在写Remot