none
доступ к объектам из формы RRS feed

Ответы

  • 1. Создаете новый проект

    2. Добавляете в него класс TestClass

    3. На форму помещаете label и кнопку. У label в свойствах не забываю Modifiers поменять на public.

    Вариант 1

    4. В классе TestClass пишите код вида:

     
    class TestClass
    {
        Form1 _form;
    
        public TestClass(Form1 p_form)
        {
            _form = p_form;
        }
    
        public void SetText()
        {
            _form.label1.Text = "Hello!";
        }
    }

    5. У формы пишу следующий код:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
    
        TestClass _t = null;
    
        void Form1_Load(object sender, EventArgs e)
        {
            _t = new TestClass(this);
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
            _t.SetText();
        }
    }

    6. Запускаю. Нажимаю кнопку. Текст в label меняется на Hello!

    • Помечено в качестве ответа motokraft 8 апреля 2014 г. 16:33
    8 апреля 2014 г. 5:14
    Отвечающий

Все ответы

  • Вариант 1: передать ссылку на объект формы методу (или конструктору) класса в параметре.

    Вариант 2: сохранить ссылку на объект формы в открытом статическом поле класса формы (поле инициализируется конструктором). После этого, если объект формы существует постоянно, он будет доступен из любого класса.


    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    7 апреля 2014 г. 18:39
  • Вариант 1: передать ссылку на объект формы методу (или конструктору) класса в параметре.

    Вариант 2: сохранить ссылку на объект формы в открытом статическом поле класса формы (поле инициализируется конструктором). После этого, если объект формы существует постоянно, он будет доступен из любого класса.


    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    Да мне вообщем то не важно как это сделать мне главное это сделать...
    8 апреля 2014 г. 0:01
  • Да мне вообщем то не важно как это сделать мне главное это сделать...

    А это что означает? Разверните свою мысль.

    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!

    8 апреля 2014 г. 5:01
  • 1. Создаете новый проект

    2. Добавляете в него класс TestClass

    3. На форму помещаете label и кнопку. У label в свойствах не забываю Modifiers поменять на public.

    Вариант 1

    4. В классе TestClass пишите код вида:

     
    class TestClass
    {
        Form1 _form;
    
        public TestClass(Form1 p_form)
        {
            _form = p_form;
        }
    
        public void SetText()
        {
            _form.label1.Text = "Hello!";
        }
    }

    5. У формы пишу следующий код:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Load += Form1_Load;
        }
    
        TestClass _t = null;
    
        void Form1_Load(object sender, EventArgs e)
        {
            _t = new TestClass(this);
        }
    
        private void button1_Click(object sender, EventArgs e)
        {
            _t.SetText();
        }
    }

    6. Запускаю. Нажимаю кнопку. Текст в label меняется на Hello!

    • Помечено в качестве ответа motokraft 8 апреля 2014 г. 16:33
    8 апреля 2014 г. 5:14
    Отвечающий
  • вот чета у меня не получается выдает ошибку!!!!

    8 апреля 2014 г. 13:44
  • ((((((((((((((( прастите все получилось просто не внимательно смотрел!!!!
    8 апреля 2014 г. 16:33
  • "Господа, кто его сюда пустил?" ((c) "О чем говорят мужчины") :)

    А теперь серьезно, Вы, действительно, считаете, что Ваше призвание - программирование?


    Если сообщение помогло Вам, пожалуйста, не забудьте отметить его как ответ данной темы. Удачи в программировании!


    • Изменено kosuke904 8 апреля 2014 г. 16:47
    8 апреля 2014 г. 16:46