c# 不关闭子窗体并返回值给前面一个窗体

zsyutiannew 2010-03-07 03:57:24
SubAccount sc = new SubAccount("", treeView1.SelectedNode.Tag.ToString(),CureentSelected, ds);
sc.ShowDialog();


在SubAccount 这个窗体修后或者新增后,不关闭 SubAccount这个窗体,
又能把ds这个数据集返回到前面的主窗体,使之前面的数据对应到返回的这个数据集
...全文
215 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lbkmaster 2010-03-07
  • 打赏
  • 举报
回复
赞成使用事件
事件 +=是特定语法吧
nali29 2010-03-07
  • 打赏
  • 举报
回复

public class ClassOne
{
public delegate void OnTestHander(DataSet ds);
public event OnTestHander test;

void Do()
{
if (test != null)
{
test(ds);
}
}
}

public class ClassTwo
{
public ClassTwo()
{
ClassOne c1 = new ClassOne();
c1.test +=new ClassOne.OnTestHander(c1_test);
}

void c1_test(DataSet ds)
{

}
}


5楼的代码改成sc.XXX += new SubAccount.OnXXXHander(sc_XXX);
cymandhxl 2010-03-07
  • 打赏
  • 举报
回复
good good study ,day day up
zsyutiannew 2010-03-07
  • 打赏
  • 举报
回复
sc.XXX += new A.OnXXXHander(sc_XXX);

new A.OnXXXHander这句看不明白,
红帽小小 2010-03-07
  • 打赏
  • 举报
回复
在SubAccount 里定义一个委托
public delegate void OnXXXHander(DataSet ds);
public event OnXXXHander XXX;

void M1()
{
if (XXX != null)
{
XXX(ds);//子窗体在这传数据集
}
}

声明 sc 的时候 (前一个窗体)
SubAccount sc = new SubAccount ();
sc.XXX += new A.OnXXXHander(sc_XXX);
sc.ShowDialog();

void sc_XXX(DataSet ds)
{
//主窗体在这就得到了sc传过来的数据集
}
Alden 2010-03-07
  • 打赏
  • 举报
回复
可以通过事件来把值传给另一个窗口
zsyutiannew 2010-03-07
  • 打赏
  • 举报
回复
在SubAccount 按下确定按钮后处理,但不关闭SubAccount这个窗体,让他继续可以新增资料
兔儿爷 2010-03-07
  • 打赏
  • 举报
回复
返回值是需要即时处理呢,还是等这个窗口关闭了 再处理?
zhang330458562 2010-03-07
  • 打赏
  • 举报
回复
把这个ds设置为SubAccount的一个属性
private Dataset _ds;
public Dataset ds
{
get{return _ds;}
}
这样你在主窗体中调用sc.ds即可获取这个数据集

110,533

社区成员

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

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

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