C# 使dll更改窗体属性

C# 使dll更改窗体属性,c#,dll,C#,Dll,我有一个具有以下方法的dll: public void SetFormProperties(){ frm.Size = new Size(20,20); ... } 该方法将设置各种属性并将事件附加到窗体。传递表单以使方法能够访问属性,从而在表单出现时立即继承方法设置的属性的最佳方式是什么 编辑:对不起,我没有把问题说清楚。我可以将SetFormProperties()添加到form_Load()事件中,并使其在不传递表单引用的情况下应用属性吗?谢谢 除非这是

我有一个具有以下方法的dll:

  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