标题:c#中,form2怎样才能更改form1上控件的属性、参数呢
只看楼主
电池
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-12-28
 问题点数:0 回复次数:14 
c#中,form2怎样才能更改form1上控件的属性、参数呢
c#中,form2怎样才能更改form1上控件的属性、参数呢
我把form1中要更改的控件设置成了public型,
在fo'r'm2中
Form1 mm = new Form1();
mm.toolStripStatusLabel1.Text = "正在读取";
form1的这个控件属性并没有变,我是初学者,请问大虾,哪位知道啊
搜索更多相关主题的帖子: 控件 参数 属性 
2006-03-10 10:19
dazhi_
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2006-3-10
得分:0 
先把属性放在公有变量中

你先把要用的控件的属性存放在变量(public)中,好你就可以了。。。。。。


2006-03-10 10:29
电池
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-12-28
得分:0 
public System.Windows.Forms.RichTextBox richTextBox1;
public System.Windows.Forms.StatusStrip statusStrip1;
public System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
public System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
public System.IO.Ports.SerialPort serialPort1;
已经是了
Form1 mm = new Form1();
mm.show();
这样新显示的窗体是变化的,并不是原来的form1,感觉是两个form1了

本人原本是硬件开发之徒,因为是计算机专业所以业余时间玩玩,现在全力突击c#
2006-03-10 10:32
电池
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-12-28
得分:0 
还望您能详细解释一下,偶实在是菜

本人原本是硬件开发之徒,因为是计算机专业所以业余时间玩玩,现在全力突击c#
2006-03-10 10:37
ytyt654
Rank: 2
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2006-2-13
得分:0 
delegate

2006-03-10 10:39
月夜枫华
Rank: 4
等 级:贵宾
威 望:12
帖 子:437
专家分:42
注 册:2006-1-2
得分:0 

你在Form2里写的代码是
Form1 mm = new Form1();
mm.toolStripStatusLabel1.Text = "正在读取";
也就是mm是一个新的对象,不是原来显示的Form1了
如果想要在Form2中更改From1的数据,可以使用事件向From1传输数据.
具体方法可以参考
http://www.bc-cn.net/bbs/dispbbs.asp?boardID=117&ID=47337&page=3


2006-03-10 10:43
电池
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-12-28
得分:0 
delegate,怎么用啊,示例一下好吗,偶超菜

本人原本是硬件开发之徒,因为是计算机专业所以业余时间玩玩,现在全力突击c#
2006-03-10 10:44
电池
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-12-28
得分:0 
谢谢【月夜枫华】

本人原本是硬件开发之徒,因为是计算机专业所以业余时间玩玩,现在全力突击c#
2006-03-10 10:45
电池
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-12-28
得分:0 
月夜枫华,你的帖子我 没看懂啊,你能在我的程序基础上,示例一下吗,超级感谢

本人原本是硬件开发之徒,因为是计算机专业所以业余时间玩玩,现在全力突击c#
2006-03-10 10:49
ytyt654
Rank: 2
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2006-2-13
得分:0 

public delegate void MyHandler();

public class Form2 : System.Windows.Forms.Form
{
public event MyHandler MyEvent;

private void button1_Click(object sender, System.EventArgs e)
{
if (MyEvent != null)
{
MyEvent();
}
}
}

public class Form1 : System.Windows.Forms.Form
{
private void button1_Click(object sender, System.EventArgs e)
{
Form2 form2 = new Form2();
form2.MyEvent += new MyHandler(form2_MyEvent);
form2.Show();
}

private void form2_MyEvent()
{
statusBar1.Text = "Form2 Button Clicked!";
}
}


2006-03-10 10:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-49492-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.509922 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved