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

Posted

tags:

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication2

class Operastion:Form1

private double NumberA;

public double NumberA1

get return NumberA;
set NumberA = value;

private double NumberB;

public double NumberB1

get return NumberB;
set NumberB = value;

public void A()



private virtual double GetResult(double Number1,double Number2)





我的Form1类中有个下拉框控件,里面有加减乘除的字符,我想在外面类中的虚方法中调用他,以获得+,-,*./的字符!

参考技术A 我的做法是在外部类定义一个含有Form1类型参数的构造方法,再定义一个私有Form1字段,下面可以随意使用Form1的公开方法。 主窗体中实例你的外部类时,使用上面版本构造方法,把this传进去即可。 参考技术B 定义静态全局变量(public static string str),在下拉控件值被更改事件中,将字符保存到变量中
其他类可以读取全局变量追问

你说的是在下拉控件的单击事件中写,怎么写呢?能稍微提醒下吗?

追答

额,不是单击事件,应该是下拉的值被更改
双击下拉控件,自动生成的事件就是.

在private double NumberA;下面定义
public static string dnstr;
在事件中
dnstr = e.Value

手头没C#,不知道对不对...

参考技术C 我不知道你怎么如此的纠结,一个类要调用另一个类的方法你应该知道吧!!!

你不可能不知道啊,我真的不知道怎么回答你啊

Form1类公开一个方法啊,然后找到Form1类的实例,然后就可以调用那个方法了呀

static class Program

public static Form1 form1;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
form1 = new Form1();
Application.Run(form1);



public class A

public void B()

//调用某个方法
Program.form1.Show();

本回答被提问者采纳
参考技术D 你直接给这个虚方法传递一个string类型的参数不就可以了!?

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#中如何在另一个类中调用Form1窗体控件的方法呢?的主要内容,如果未能解决你的问题,请参考以下文章

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

winform窗体如何在类里调用控件名。。。

c#如何跨线程调用窗体控件

C#里怎么在一个窗体里调用另一个窗体的控件

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

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