C# 使dll更改窗体属性
我有一个具有以下方法的dll:C# 使dll更改窗体属性,c#,dll,C#,Dll,我有一个具有以下方法的dll: public void SetFormProperties(){ frm.Size = new Size(20,20); ... } 该方法将设置各种属性并将事件附加到窗体。传递表单以使方法能够访问属性,从而在表单出现时立即继承方法设置的属性的最佳方式是什么 编辑:对不起,我没有把问题说清楚。我可以将SetFormProperties()添加到form_Load()事件中,并使其在不传递表单引用的情况下应用属性吗?谢谢 除非这是
public void SetFormProperties(){
frm.Size = new Size(20,20);
...
}
该方法将设置各种属性并将事件附加到窗体。传递表单以使方法能够访问属性,从而在表单出现时立即继承方法设置的属性的最佳方式是什么
编辑:对不起,我没有把问题说清楚。我可以将SetFormProperties()添加到form_Load()事件中,并使其在不传递表单引用的情况下应用属性吗?谢谢 除非这是一个技巧性问题,否则您可以在创建
frm
实例后将其传入:
public void SetFormProperties(Form frm){
frm.Size = new Size(20,20);
...
}
var frm = new Form1();
SetFormProperties(frm);
因此,当您创建它时:
public void SetFormProperties(Form frm){
frm.Size = new Size(20,20);
...
}
var frm = new Form1();
SetFormProperties(frm);
您提供的代码示例将不起作用。您需要返回新的大小或传入对表单对象的引用
public void SetFormProperties(Form form){
fprm.Size = new Size(20,20);
}
SetFormPropertoes(form);
或
我们怎么知道?
frm
来自哪里?根据您给我们的信息,我想说:作为参数谢谢!我更新了我的问题。我可以在不传递表单的情况下设置变量吗。是否使用类似parent.backColor?@user1192403:如果基类中存在SetFormProperties()
(例如,您没有使用Form
类作为基类,而是创建了自己的Form
)或SetFormProperties()
存在于表单本身,那么您就不需要发送引用,因为您可以利用this.Size
。