如何在另一个类C#的表单上使用项目

时间:2012-01-06 17:06:41

标签: c#

所以我创建了Windows Form Application并为库添加了一个引用,以便我可以使用库中的类。

现在我有一个在该库中的类中的方法,它需要在PictureBox中更改图片,以便如何访问窗体上的pictureBox(Form1)。

并且这个方法能够获得他是什么样的项目会很好,例如在picturebox1或picturebox2中,以便它改变从中调用它的pictureBox。

但主要是如何访问那个pictureBox。

4 个答案:

答案 0 :(得分:1)

你不能让类库引用应用程序,否则你会有循环依赖。很难准确地说出应该做什么,但一般来说,类库不应该直接更改用户界面的各个方面 - 这通常是更具特定于应用程序的要求。

你真正想要的是一个事件 - 类库会发布一个事件,应用程序会订阅它。然后,类库将在适当的时间触发事件,让应用程序代码通过更改图片来处理事件。

答案 1 :(得分:1)

您的库中有一个包含方法的类,需要在任意Form-Object中访问PictureBox,是吗? 让您的库类中的方法具有PictureBox类型的参数。从表单中调用该方法并传递要更改的PictureBox对象。

答案 2 :(得分:1)

你可以像这样得到项目的参考:

void DoWork(ref TextBox t)
{ 
    t.Text="Hi!";
}

答案 3 :(得分:0)

如果pictureBox类中的Form1是私有的,那么您可以创建一个属性来从外部访问它:

public class Form1
{
   public PictureBox Pic 
   { 
       get 
       { 
           return pictureBox; 
       } 
   }
}

然后,您可以使用form.Pic

从实例访问它