2011-05-29 72 views
3

我试图找到关于将一个picturebox传递给某个方法的信息,我尝试将它传递给对象,但无济于事。将PictureBox对象传递给类中的方法

有人可以指点我正确的方向来自己研究答案,我已经尝试了很多搜索,但我不知道在寻找这样的答案时使用正确的措辞。

我正在创建一个操作传递给它的图片框的类。

public class picBoxStuff 
{ 
    public void doStuff(Object pictureBox) 
    { 
     pictureBox.dooooostufff.... 
    } 
} 

感谢好心提前,

编辑:

谢谢你们,Unfortuanlty我不能投你既是答案,但你都在那里太棒了, 生病添加备注这里添加到你这两个对于未来寻找这个的人来说都是如此。

首先添加一个对system.windows.forms的引用,你会在.net引用中找到它。 接下来添加使用行“usage System.Windows.Forms;”。 最后,您可以将pictureBox作为图片框传递给方法。

是一个愚蠢的我有点忘了加refrence FO Windows.Forms的:)

再次感谢球员, 斯科特

回答

3

PictureBox是一个对象,因为所有的类都继承自该类,但您应该将它当作PictureBox而不是Object来对待。所以这个方法应该需要一个PictureBox对象而不是一个Object'object'作为传递给该方法的参数。

using System; 
using System.Drawing; 
using System.Windows.Forms; 

namespace WindowsFormsApplication5 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      someMethod(pictureBox1); 
     } 

     private void someMethod(PictureBox p) 
     { 
      p.BackColor = Color.Blue; 
      // this is an example of pictureBox being passed as 
      // a paramter to this method 
     } 
    } 
} 

enter image description here

+0

嗯我认为是这种情况,但是当我试图做到这一点,它不会regester,PictureBox的东西。 – scott 2011-05-29 05:30:21

+0

谢谢队友:)她正在工作的魅力:) – scott 2011-05-29 05:35:49

+0

那是因为您试图传递的PictureBox没有实例化(空)。你用代码创建PictureBox吗?我如果将控件拖到窗体上,它应该可以工作。就像我向你展示的例子。 – 2011-05-29 05:39:01

1

如果你做到这一点?

using System.Windows.Forms; 

//rest of your code 
+0

感谢队友,使用你的答案和上面一个是完美的,我更多的东西,为菜鸟添加你必须让你添加使用前先参考“system.Windows?Forms”线。 – scott 2011-05-29 05:31:07