关于在一Form中动态生成控件的问题

nancylin 2003-09-13 10:35:16
各位大侠,小妹现有一问题,我现从form1中往form2中拖动一个控件(现以button为例),实现思路是在form1中,对要拖动的button设一flag,并把其值置true;而在from2中,检测到form1中该控件的flag值为true时就在form2中生成一个控件button,并把控件的flag值置false(设flag值的目的是为了检测form2中的该控件的flag,如果为false,那么在form2中对该控件进行拖动只会调整该控件的坐标位置而不会在form2中再生成一个该类型的控件)。当我想再从form1中把该button拖到form2中(这时应该在form2中再生成一个button控件button2,可是此时由于form1中的button的flag值已经被置false,故而不会再在form2中再次生成此类控件button2,我该怎么办呢?另外,如果我在form1中打开form2,再由form2打开form3,一番操作之后,我希望把form3中一些控件的属性值传回到form1中,在这之前,我可以把form3中控件的属性值传回到form2中,也许有人说这之后再把这些值由form2传回到form1不就好了么?可是如果控件数太多或是当还有由form3打开form4,希望由form4(总之是最后一级from)把参数值传回到第一个form(form1)时,该怎么办才是最好的呢?问题多多,挠首不已,盼得以相助,万分感谢!!
...全文
38 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
chainet 2003-09-13
  • 打赏
  • 举报
回复
小妹妹,虽然你很辛苦的说了很多,但是好像问题说得很不清楚。
能不能用简单几句话把关键问题说清楚,我们也要帮你。
aurorasite 2003-09-13
  • 打赏
  • 举报
回复
public class VariableClass
{
//list vars here, e.g.
int Count;
ArrayList Marks;
}

public class Form2 : Form
{
public delegate void OnOkClicked(VariableClass vars);
public event OnOkClicked OnOkClickedEvent;
//...
public btnF2_OnClick(object sender, EventArgs e)
{
if (OnOkClickedEvent != null)
{
VariableClass vars = new VariableClass();
//fill in the vars object with data
OnOkClickedEvent(vars);
}
this.Close();
}
}

public class Form1 : Form
{
public void HandleEvent(VariableClass vars)
{
//do whatever with the vars
}

public void btnF1_OnClick(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.OnOkClickedEvent += new Form2.OnOkClicked(HandleEvent);
f2.Show();
}
}

110,536

社区成员

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

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

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