#c# #parsing #object #methods #picturebox
#c# #синтаксический анализ #объект #методы #picturebox
Вопрос:
Я пытаюсь найти информацию о передаче picturebox методу, я пытался передать его с помощью object, но безрезультатно.
Может ли кто-нибудь указать мне правильное направление для самостоятельного поиска ответа, я перепробовал много поисковых запросов, но я не уверен в правильной формулировке, которую следует использовать при поиске такого ответа.
Я создаю класс, который управляет полем изображения, которое было передано ему.
public class picBoxStuff
{
public void doStuff(Object pictureBox)
{
pictureBox.dooooostufff....
}
}
Заранее большое спасибо,
Редактировать:
Спасибо, ребята, к сожалению, я не могу проголосовать за вас обоих в качестве ответов, но вы оба фантастические, я добавлю здесь примечание, чтобы добавить к тому, что вы оба упомянули, для людей, ищущих это в будущем.
Сначала добавьте ссылку на system.windows.forms, by вы найдете ее в .net references. Затем добавьте строку использования «Система использования.Windows.Формирует;». И, наконец, вы можете передать PictureBox как picturebox методу.
Немного глупо с моей стороны забыть добавить ссылку на windows.forms 🙂
Еще раз спасибо, ребята, Скотт
Ответ №1:
PictureBox является объектом, потому что все классы наследуют от этого класса, но вы должны обращаться с ним как с PictureBox, а не как с Object. Таким образом, метод должен требовать объект PictureBox вместо объекта ‘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
}
}
}
Комментарии:
1. хм, я думал, что это так, но когда я пытаюсь это сделать, он не регистрирует, что PictureBox — это что-то.
2. Тогда это потому, что PictureBox, который вы пытаетесь передать, не создан (null). Вы создаете PictureBox с помощью кода? I Если вы перетащите элемент управления в свою форму, он должен сработать. Точно так же, как в примере, который я вам показал.
Ответ №2:
что, если вы сделаете это?
using System.Windows.Forms;
//rest of your code
Комментарии:
1. спасибо, приятель, используя твой ответ и приведенный выше, я могу добавить еще кое-что для новичков, которым нужно ссылаться на «system. Windows? Сначала сформируйте «, прежде чем добавлять строку using.