怎么在类库中调用应用程序的控件
如何在类库中调用应用程序的控件
如题,我创建了一个WinForm应用程序,如ApplicationTest,里面有一个窗体FormTest,FormTest中有几个Button按钮,btnA,btnB,btnC
然后我又建了一个类库ClassLib,里面有个方法MyInitalStyle()
我想请教一下,这个方法里面有没有什么办法可以获取设置FormTest中的按钮的属性和事件,代码是怎么写的?
------解决方案--------------------
可以的 在方法的构造函数里写
比如
如题,我创建了一个WinForm应用程序,如ApplicationTest,里面有一个窗体FormTest,FormTest中有几个Button按钮,btnA,btnB,btnC
然后我又建了一个类库ClassLib,里面有个方法MyInitalStyle()
我想请教一下,这个方法里面有没有什么办法可以获取设置FormTest中的按钮的属性和事件,代码是怎么写的?
------解决方案--------------------
可以的 在方法的构造函数里写
比如
- C# code
//定义一个BUTTON类的全局变量 private Button bt; PUBLIC CLASS A { public a(Button a) { this.bt=a;//这样你就可以把WINFORM的BUTTON传过来了,其他也是一样的方法 } }
------解决方案--------------------
- C# code
public class Styles { public Color TxtBackColor { get { return Color.Blue; } } public Color TxtForeColor { get { return Color.Red; } } public void SetStyles(Control control) { control.BackColor = this.TxtBackColor; control.ForeColor = TxtForeColor; } } //form 里面 public Form1() { InitializeComponent(); Styles s = new Styles(); s.SetStyles(this.button1); }
------解决方案--------------------
打错了,设置属性不是函数~~
------解决方案--------------------
可以:
你把Button控件类做为参数传递就可以。
如public static MyInitalStyle(Button obj)
还有就是通过继承和属性来设计.
------解决方案--------------------
Form frm=this.findForm();
这句错了。
FORM1 FM=(FROM1)FRM;
然后再调用。
用反射也可以。只是速度慢一些。