C#如何在另外一个类中访问Form中控件属性?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何在另外一个类中访问Form中控件属性?相关的知识,希望对你有一定的参考价值。

如何新定义一个类来访问控件的属性?由于控件是私有成员,所以不能直接在外部访问,然后我把它改成internal,却没有Form的实例,还是不行,去定义Form实例,却找不到合适的位置...请问有什么方法能另外定义一个类来访问Form中控件的属性?

参考技术A 1.修改Form中的控件访问级别为public
2.将Form作为参数传进类函数中例子:假设类是A,窗体是
Form1
上面有一个button1
,实现修改button1的Text属性
Class
Apublic
static
void
Func(Form1
f)f.buttin1.Text
=
"测试";
调用:A.Func(this);

c#如何从另一个窗口中更改主窗口控件的属性

我在Form2中做了一个comobox控件,选定了我要的属性值后,点“确定”钮,如何使我的Form1中的label.Text属性随之更改?
Form1是我的主窗口,Form2作为弹出窗口对Form1进行设置。

1.static - 给控件设置 static 属性,在所有程序集中都可以访问,但这种访法比较麻烦。。
2.传对象,示例如下:
// 第一个窗体form1,控件名为label,访问修饰符设为非private即可
在这里创建个有参的构造方法
public form1(from2 owner)

// 第二个窗体from2,控件名为btnTest

我们可以这样在第二个窗体中控制第一个窗体中的控件
在form2源码中写:
form2 test = new form2(this);
test.label.Text = "<<comobox选定的值>>";
参考技术A form2中写个函数,让form1调用,把form1自己的this的传过去
然后form1中写个public的函数,当form2调用这个的时候,执行你想要的操作
参考技术B 是WINFORM 吧

如果是WINFORM的话,你用构造函数给窗口传值.

当然也可以用类,
参考技术C 窗体间的值传递,可以在form1中设置几个共有变量,也可以创建一个静态类。

以上是关于C#如何在另外一个类中访问Form中控件属性?的主要内容,如果未能解决你的问题,请参考以下文章

c#如何从另一个窗口中更改主窗口控件的属性

C#中如何在另一个类中调用Form1窗体控件的方法呢?

在C#中怎么调用别的窗体的控件属性

c#中 在不同窗体中根据控件id或者name属性查找另一个窗体里的控件

C#一个普通的类,怎么获取窗体里控件的属性?

c# winform程序,我定义一个类,一个窗体,如何在类中访问一个窗体的控件。