c#中winform程序,多线程问题,一个线程创建了一个TextBox,是否到整个进程销毁之时,

c#中winform程序,多线程问题,一个线程创建了一个TextBox,是否到整个进程销毁之时,这个TextBox都只从属于创建他的那一个线程,控制权能不能转到这个进程内的其他线程?

可以的,虽然是线程创建的TextBox,但是这个TextBox是属于UI线程的,所以创建该控件的线程即使被销毁了,这个控件仍旧存在并且可以被其他线程访问,但是任何非UI线程要访问这个控件得使用代理的方式,如同"小花朵8"所说,在2.0及其以上版本必须采用代理的方式.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-09
.NET 1.1可以直接实现
但是.NET 2.0以后线程间不允许直接操作非自己创建的控件,但是通过代理的方式是可以其他线程对该控件的控制

你的想法是可行的
第2个回答  2010-12-09
代理是可以做到的。

c#中winform程序,多线程问题,一个线程创建了一个TextBox,是否到整个进程...
可以的,虽然是线程创建的TextBox,但是这个TextBox是属于UI线程的,所以创建该控件的线程即使被销毁了,这个控件仍旧存在并且可以被其他线程访问,但是任何非UI线程要访问这个控件得使用代理的方式,如同"小花朵8"所说,在2.0及其以上版本必须采用代理的方式....

C#winform使用了多线程,有时候程序再运行中直接就退出了!
可能是你创建线程刷新数据那里出错了~这个需要具体调试,但是我想说的是你的线程和timer 做的是同一件事情,timer本身就是实时去检测并刷新listView数据源的,socket无非是在接受到消息时刷新而已不是实时检测,

C# WinForm程序中,使用多线程,在关闭窗体时 怎么关闭窗体的所有线程。使...
程序退出的方法:this.Close(); 只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;Application.Exit(); 强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;Application.ExitThread(); 强制中止调用线程上的...

C#多线程操作同一个空间的问题,richTextBox
不是排队不排队的问题,是WinForm中,其他线程不能直接参与UI绘制线程的工作,意思就是,你不能在别的线程中直接调用UI控件并修改它的属性等,需要用到Invoke,两个方式:窗体使用一个timer随时监测线程中的变量变化情况,更新RichTextBox 在线程中调用一个方法,该方法可以判断UI线程是否处于更用状态,当...

C#Winform中,开了一个线程,对PictureBox切换图片,抛出Object is curr...
如果是跨线程操作了。最好是使用Invoke+delegate委托处理控件。否则会出现很多诡异的异常

C#winform程序运行到多线程后跳出
你的应该是 子线程处理过程中发生了异常 现在.net 的机制是:子线程发生的异常 在主线程是捕获不到的 子线程未处理的异常都会使程序退出。你最好在 子线程的函数里去捕获异常然后处理掉

写了一个C#winform程序,在我的电脑上运行没有问题,但是在别人的电脑运...
目测是缺少相关组件,你是否使用了第三方的dll或者其他第三方组件呢,如果有点话,一并放到bin目录下,这样就可以了 还是不行,建议把exe发我一份,测试一下 多谢

C#的WinForm程序子窗口关闭后仍存在进程问题.
答:如果创建了其它线程的话就会出现这样的情况,在Closing事件中你把你创建的线程Abort掉。。。就可以了的

C# winform 问题,如何在电脑关机时在winform窗口关闭前再做一个反应
只是记录登录下线的问题就不需要知道对方是否关机吧?你只要记录他是否退出系统就可以了.winform有窗体退出触发事件.FormClosed,窗体关闭后触发事件 FormClosing,窗体关闭时触发事件

C#在其它类的线程工更新winForm中的textbox内容?
首先你应该把Mainform里的TextBox对象(假设叫做textBox1)保存在TCPServer.Instance里;其次由于是后台线程,所以不能直接对textBox1的text赋值,应该这样:void listenerProc(){ while (true){ textBox1.Invoke( new EventHandler( delegate{ textBox1.Text = "xxxxx"; } ) );} } ...

相似回答