c#中如何从一个控件调用另一个控件?

Posted

tags:

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

例如:我点击一个按钮sumButton,然后该控件内函数计算c=a+b,然后将c的值输出到label.Text上,我看到c值然后判断c是否大于0,如果大于0的点击按钮yesButton否则点noButton,然后sumButton内函数得到我的选择结果,并根据不同的选择继续执行sumButton里面的程序。请问这如何实现?最好能写几行代码说明,谢谢!
首先谢谢两位的回答,这里我要在补充说明一下,那个判断c是否大于0是有操作者自己判断的,而不是由程序判断的,有操作者判断后选择是点击yes或者no。因为这里只是简单举个例子,实际程序并不是判断是否大于零这么简单,而是比较复杂的判定。谢谢

给你举了个例子
前台 两个textbox,三个button

代码
int c = 0;
private void button1_Click_1(object sender, EventArgs e)

c = int.Parse(this.textBox1.Text) + int.Parse(this.textBox2.Text);
if (c < 0)

this.button2_Click(sender, e);

else

this.button3_Click(sender, e);



private void button2_Click(object sender, EventArgs e)

MessageBox.Show("小于0");


private void button3_Click(object sender, EventArgs e)

MessageBox.Show("大于0");


你试试吧,button1点击后,把textbox1和textbox2的值相加,获得后,点击了相应的button
弹框显示了

不是很明白 操作者自己判断是什么意思。他自己判断的话,那直接两个按钮yes,on自己点击就好了
就说说你想要实现什么吧
找个类似点的
参考技术A 你直接在yesButton或noButton的click事件里写后续程序不就行了吗!
点击sumButton显示结果,
如果点击了yesButton,
就在yesButton的点击事件中写后面继续执行的程序,
noButton也是一样。
参考技术B 你的意思是,那个判断非常复杂,以至于必须由人来判断?
很想知道到底是什么复杂额判断。。。
然后,我的解决办法是,
定义个全局变量,string ChooseNum=""
yesButton:ChooseNum="yes"
noButton:ChooseNum="no"

在你的sumButton
switch(ChooseNum)
参考技术C 上面 textBox1.text 和 textBox2.text 的值最好判断下 不然会报错

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

C#中如何在一个窗体中调用另一个窗体控件中的数据?

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

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

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

VS.net (c#)如何调用另一个控件的事件

关于C# winform调用另一个窗口中的控件的问题