Я хочу расширить панель, и я хочу добавить некоторые элементы управления этому классу. Но я не знаю, куда поместить код, если я поместил его в конструктор, это не сработает. См. Пример кода:Начальный элемент управления не отображается
class ExPanel : Panel {
public Image image {
get;
set;
}
public ExPanel() {
// if I put the addPic method here, the picture will not be showed
}
private void addPic() {
PictureBox pic = new PictureBox();
pic.Top = 10; pic.Left = 10;
pic.Width = 100;
pic.Height = 100;
if (this.image != null) pic.Image = this.image;
this.Controls.Add(pic);
}
}
Я думаю, потому что изображение установлено после запуска конструктора. Но я не знаю, какое событие подходит для этого метода. Кто-то, пожалуйста, помогите мне, спасибо
Попробуйте добавить этот вызов в 'InitializeComponent()' метода формы. – HuorSwords
Вы говорите: «картина не будет показана». Это потому, что вы просто создаете новый PictureBox, я не вижу никакого кода, который помещает изображение в него. – raven
@raven: Я имею в виду, что картинка не будет отображаться, я установил обратный цвет в синий – SmartGoat