2011-05-29 47 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