Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Управление свойствами объектов


Автор: EgoBrain 11.4.2008, 15:21
Здравствуйте. Как мне настроить дочерние объекты класса Form1() так, чтобы я мог управлять ихними свойствами (какими возможно) и вызывать их методы из другой формы Form2()? Конкретно нужно вызвать метод Refresh() или событие Paint() объетка Form1.pictureBox1 из Form2(), например, по нажатию кнопки Form2.button1.

Автор: vponomarov 11.4.2008, 16:46
EgoBrain, ну, во-первых, тебе нужно во вторую форму передать ссылку на первую.
а, во-вторых, нужно объявить нужные тебе элементы главной формы как публичные. но это плохая практика, лучше не лениться и создавать для каждого объекта публичное свойство.

Автор: EgoBrain 12.4.2008, 06:32
Код

public class Form2 : System.Windows.Forms.Form
{
     ....

    private void button1_Click(object sender, System.EventArgs e)
        {
             Form1 form1=new Form1();
                     form1.pictureBox1.Refresh();//Открытое поле pictureBox1 с открытым (public) свойством.
        }
}

Такое никогда не работало  smile  . И даже свойства .Enabled у объектов измсенять нельзя из другой формы.

Автор: mr.DUDA 12.4.2008, 10:26
Цитата(EgoBrain @  12.4.2008,  06:32 Найти цитируемый пост)
Form1 form1=new Form1();

Общая ошибка всех новичков. Читайте внимательно всю http://forum.vingrad.ru/forum/index.php?show_type=forum&showtopic=52713.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)