想访问父对象怎么办? 各位兄弟姐妹大家好:小弟我想问一个问题。我在一个主窗体MainForm对象,创建一个新的窗体,然后这个新的窗体又创建了一个窗体。我想在最好一个窗体访问MainForm对象(不是MainForm类)。请问怎么访问。知道的告知一下。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 吧main实例传给你的窗体就ok,然后通过main窗体内的public方法来操作父类窗体这只是一种方法,还有其他的方法,比如说事件订阅也可以做到,我现在就用这个,大体框架如下:定义一个中间类:public class Observe { public Observe() { } private string strText; public event EventHandler TextChange; public string StrText { get { return strText; } set { strText = value; if(TextChange != null) TextChange(this,EventArgs.Empty); } } }main类中:private Observe o_Observe = new Observe();点击按钮打开窗口的按钮事件代码这样写 private void Tc_btn_Click(object sender,EventArgs e) { Tcb_Ro obj = new Tcb_Ro(); obj.observe = o_Observe ; this.o_Observe .TextChange += new EventHandler(Tcb_TextChange); obj.ShowDialog(); }private void Tcb_TextChange(object sender,EventArgs e) { //你想操作main窗体的代码写在这里 }子类的按钮时间这样写,这里是操作的listview进行选择的private void SelectBtn_Click(object sender, System.EventArgs e) { if(TcList.SelectedItems .Count > 0) { o_Observer.TcbCode = TcList.SelectedItems[0].Text + "|" + TcList.SelectedItems[0].SubItems[1].Text; } this.Close(); }只要observe类中的值一发生改变马上就处罚事件的发生 没有父对象的概念,只有父类的概念你说的这些对象,其实都一样,是平级的,把最开始的MainForm窗体放在变量里,哪儿都能访问 测试操作系统?? ArrayList 存储自定义数据类型的对象时 可以取到它的属性吗? string转换成xml问题。 vs2008 c#开发windows窗体程序,怎么连接数据库? 想做个网页Flash 游戏的点击工具,求帮助啊! 请高手们来解决个FTP下载的问题 - 顶者有分 ASP.NET中的水晶报表问题 图书下载 怎样设置一个唯一的id的值? 新手学习C# 介绍一本教材? 跪求..............................报表里添加2维条码的打印程序 【攒分贴】System.Object是所有类的几类么?
public class Observe
{
public Observe()
{
} private string strText;
public event EventHandler TextChange;
public string StrText
{
get
{
return strText;
}
set
{
strText = value;
if(TextChange != null)
TextChange(this,EventArgs.Empty);
}
} }main类中:private Observe o_Observe = new Observe();
点击按钮打开窗口的按钮事件代码这样写
private void Tc_btn_Click(object sender,EventArgs e)
{
Tcb_Ro obj = new Tcb_Ro();
obj.observe = o_Observe ;
this.o_Observe .TextChange += new EventHandler(Tcb_TextChange);
obj.ShowDialog();
}private void Tcb_TextChange(object sender,EventArgs e)
{
//你想操作main窗体的代码写在这里
}
子类的按钮时间这样写,这里是操作的listview进行选择的
private void SelectBtn_Click(object sender, System.EventArgs e)
{
if(TcList.SelectedItems .Count > 0)
{
o_Observer.TcbCode = TcList.SelectedItems[0].Text + "|" + TcList.SelectedItems[0].SubItems[1].Text;
}
this.Close();
}只要observe类中的值一发生改变马上就处罚事件的发生