日期:2014-05-18  浏览次数:20990 次

动态添加的窗体如何添加组件、静态变量
亲们,程序中,点击一个按钮,动态创建一个新的窗体,在新窗体中,如何创建一个timer事件和tooltip事件
1、我知道能够动态创建按钮、标签之类的
  Button btn = new Button();
  btn.Name = "button1";
  btn.Height = 10;
  btn.Width = 10;

  form2.Controls.Add(btn);

但是timer和toolTip是组件,无法用controls添加,请各位高人指点一下。谢谢!@!!@#

2、还有,我们静态创建的窗体中都有form_load事件,可以初始化一些静态的参数和数据,动态添加窗体中的form_load如何执行?

3、动态添加的窗体中如何添加窗体全局的静态变量,static string mystr="123456"



------解决方案--------------------
1、为什么一定要一个窗体里面向另外一个窗体里添加成员呢,有这样的需求?
2、Formx.Load+=new EventHandler(Formx_Load);
3、你难住我了
------解决方案--------------------
没有办法给动态窗体增加“全局的静态变量”。不过你可以创建了静态的全局变量,使用委托在窗口中使用。
可以给窗体增加一个Timer数组,然后添加之。
------解决方案--------------------
第一,把那些组件放 Tag 里,有多个就先组成 object[] 再放
第二,外部一样能注册事件
第三,既然是静态变量,放哪都一样,就放这主窗体里好了,如果不是静态的,一样放 Tag 里去
------解决方案--------------------
C# code
Button btn = new Button();
btn.Name = "button1";
btn.Height = 10;
btn.Width = 10;

List<object> coms = new List<object>();

ToolTip toolTip = new ToolTip();
// ......
coms.Add(toolTip);

System.Windows.Forms.Timer tmr = new System.Windows.Forms.Timer();
// ......
coms.Add(tmr);

form2.Controls.Add(btn);
form2.Tag = coms;

------解决方案--------------------
1.没啥是不可以添加的,比如tooptip

我们来看他怎么加
C# code
  ToolTip tip = new ToolTip();
  tip.SetToolTip(this.button1, "aaaa");