请问C#如何在一个类中设置FORM1的label的TEXT值
已有一个类文件class1.cs,类名为class1请问如何在类class1中设置FORM1的label的TEXT值?我已经在类class1中试过用Invoke,但有出错...
已有一个类文件class1.cs,类名为class1
请问如何在类class1中设置FORM1的label的TEXT值?
我已经在类class1中试过用Invoke,但有出错提示“NetworkWell.class1”并不包含“Invoke”的定义
还是一点就是我是在FORM1中开了一个线程来处理的,所以不能直接this.Form1.labelname.Text = "fsdafd";
三楼的方法我也试过了,就是不行,我在类class1写上Form1 onloadform = new Form1();onloadform.settext("fdsafd");但Form1.labelname.Text没有改变
三楼你的方法在.net2是不能这样做的,要修改委托可以的,还有一点,就是新建的线程执行的方法(你这里就是Worker)是不在类Form1里的
因为代码太多,大家可以通过这个链接下载来看看http://www.ikbao.com/down/NetworkWell.rar
还是出现错误:“线程间操作无效: 从不是创建控件“OnlineUserNum”的线程访问它。”
我是用VS2005调试的 展开
请问如何在类class1中设置FORM1的label的TEXT值?
我已经在类class1中试过用Invoke,但有出错提示“NetworkWell.class1”并不包含“Invoke”的定义
还是一点就是我是在FORM1中开了一个线程来处理的,所以不能直接this.Form1.labelname.Text = "fsdafd";
三楼的方法我也试过了,就是不行,我在类class1写上Form1 onloadform = new Form1();onloadform.settext("fdsafd");但Form1.labelname.Text没有改变
三楼你的方法在.net2是不能这样做的,要修改委托可以的,还有一点,就是新建的线程执行的方法(你这里就是Worker)是不在类Form1里的
因为代码太多,大家可以通过这个链接下载来看看http://www.ikbao.com/down/NetworkWell.rar
还是出现错误:“线程间操作无效: 从不是创建控件“OnlineUserNum”的线程访问它。”
我是用VS2005调试的 展开
4个回答
展开全部
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace NetworkWell
{
class test
{
private Label label;
public void setLabel(ref Label label)
{
this.label = label;
}
public void testThread()
{
this.label.Text = "adsfwdwfsadf";
}
}
}
然后在Form1里
private void FrmMain_Load(object sender, EventArgs e)
{
test t = new test();
t.setLabel(ref this.OnlineUserNum);
Thread OnlineUserThread = new Thread(new ThreadStart(t.testThread));
OnlineUserThread.Start();
}
晕,你加我QQ:35147512
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace NetworkWell
{
class test
{
private Label label;
public void setLabel(ref Label label)
{
this.label = label;
}
public void testThread()
{
this.label.Text = "adsfwdwfsadf";
}
}
}
然后在Form1里
private void FrmMain_Load(object sender, EventArgs e)
{
test t = new test();
t.setLabel(ref this.OnlineUserNum);
Thread OnlineUserThread = new Thread(new ThreadStart(t.testThread));
OnlineUserThread.Start();
}
晕,你加我QQ:35147512
展开全部
已有一个类文件class1.cs,类名为class1
请问如何在类class1中设置FORM1的label的TEXT值?
class1.cs加个构造函数
System.Windows.Form.Lable myLable=null;
public class1(ref System.Windows.Form.Lable Lable)
{
myLable=Lable;
}
然后设置myLable的text就可以改变FROM上的值 意思按地址把这个lable传递到这个类里。这样类里的lable与FROM里的类是同一个了
请问如何在类class1中设置FORM1的label的TEXT值?
class1.cs加个构造函数
System.Windows.Form.Lable myLable=null;
public class1(ref System.Windows.Form.Lable Lable)
{
myLable=Lable;
}
然后设置myLable的text就可以改变FROM上的值 意思按地址把这个lable传递到这个类里。这样类里的lable与FROM里的类是同一个了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把label的访问权限修改成public然后直接用Form1.label.Text来访问.
在Form1的构造函数中加入下面这句就没有问题了:
Control.CheckForIllegalCrossThreadCalls = false;
在Form1的构造函数中加入下面这句就没有问题了:
Control.CheckForIllegalCrossThreadCalls = false;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this.Form1.labelname.Text
这样就可以了
这样就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询