继承问题

Zhenyl 2010-02-26 04:42:32
有两个窗体Form1、Form2,Form2继承Form1,在Form2 中如何对父窗口Form1中的变量重新赋值。能不能重新赋值呀?
...全文
117 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzx509 2010-03-01
  • 打赏
  • 举报
回复
class Form2:Form1
{
public Form2()
{
this.Load += new EventHandler(Form2_Load);
}

void Form2_Load(object sender, EventArgs e)
{
this.Text = "abcd";
}

}
galicurry 2010-02-26
  • 打赏
  • 举报
回复
用set 和 get

Form1的
private static string a; //定义一个静态变量
public string aa
{
get { return a; } //返回a
set { a = value; } //a可以被修改,假如不需被修改,则不用写set
}

a可以在其他地方随便改

Form2的

Form1 a = new Form1();
string str = a.aa; //已经获取到Form1得a了

刚刚写的,应该没问题。
-汪帆- 2010-02-26
  • 打赏
  • 举报
回复
不用控件你能改变他的值?难道要写成死的:在Form2中text = "123";
Zhenyl 2010-02-26
  • 打赏
  • 举报
回复
我的意思是不加多余控件,有可能会有多个变量,那得加多少呀。
并且是直接赋值引用,而不是通过其他操作来得到这个值。
-汪帆- 2010-02-26
  • 打赏
  • 举报
回复
Form2里再加个public Button button1即可
-汪帆- 2010-02-26
  • 打赏
  • 举报
回复
Form1中:

private string FormText = "Test";
private Form2 frm;

public Form1()
{
InitializeComponent();
this.Text = FormText;
}
private void button1_Click(object sender, EventArgs e)
{
frm = new Form2();
frm.button1.Click += new EventHandler(ChangeValue);
frm.Show();
}

void ChangeValue(object sender, EventArgs e)
{
this.FormText = frm.textBox1.Text;
this.Text = this.FormText;
}

Form2中:
public TextBox textBox1;
Zhenyl 2010-02-26
  • 打赏
  • 举报
回复
高手们,告诉一下呗,谢了。
Zhenyl 2010-02-26
  • 打赏
  • 举报
回复
Form1中代码。
public string FormText = "Test";
private void Form1_Load(object sender, EventArgs e)
{
this.Text = FormText;
}
我想在子窗口,form2中对FormText重新赋值,form2中该怎么写呀?
Zhenyl 2010-02-26
  • 打赏
  • 举报
回复
能不能举例说明呀?谢谢
-汪帆- 2010-02-26
  • 打赏
  • 举报
回复
Form1,Form2已经有父子关系了,直接通过Form2.Parent找到Form1,再赋值即可
-汪帆- 2010-02-26
  • 打赏
  • 举报
回复
把Form1中的变量的引用传递给Form2,就可以在Form2中赋值了

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧