我的项目中有一个Windows窗体和我自己的类
我在自己的班级中有一个方法
public object Sample(Form MyForm,string ComponentName)
{
}
我想从另一个类中获取“MyForm”的组件如何制作THI?
表单类
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
个MyOwnClass
public class Sample
{
public object GetComponentMethod(Form form,string ComponentName)
{
////
}
}
答案 0 :(得分:1)
您是否尝试过:
Control myControl= form.controls.Find(...)?
已更新
很抱歉,但在这种情况下,我无法理解你在找什么!
<强>更新强>
你必须创建一个公共属性组件!所以你可以检索你需要的数据!
答案 1 :(得分:1)
看起来你只是想从另一个对象访问一个对象的成员。
如果是这样,您需要公开一些访问类的特定实例的方法。
如果您只有一个实例(比如Form1),最简单的方法是通过公共静态属性公开该单个实例。这称为单例模式:
public partial class Form1 : Form
{
public static Form1 Singleton { get; private set; }
public Form1()
{
Form1.Singleton = this;
InitializeComponent();
}
}
您可以从任何地方使用Form1.Singleton.SomeProperty
访问您的Form1实例。
我没有在这里推广任何特定的Singleton模式,因为线程安全问题太多了,但是对于你的简单例子,这将完成这项工作。调用静态属性“Singleton”或“This”或“SolutionToMyWoes”或任何你喜欢的东西!