Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2014, 10:49   #1
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию C# Как обратиться к методу из другой формы?

Подскажите, как обратиться к методу из другой формы? Есть тестовый метод test() на FORM1, который меняет текст в label1. Его я вызываю из Form2 таким образом Form1 form1 = new Form1(); form1.test(); он срабатывает, но никаких изменений в label1 не происходит. Поменял в дизайнере первой формы private свойства на publice у label, но по прежнему при вызове этого метода со второй формы текст в label1 не меняется.

FORM1
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication15
{
    public partial class Form1 : Form
    {
        public void test() {
            label1.Text = "Example text";
        }
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2  form2 = new Form2();
            form2.Show();
        }
    }
}
FORM2
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication15
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            Form1 form1 = new Form1();
            form1.test();
        }
    }
}
Дизайнер Form1
Код:
 namespace WindowsFormsApplication15
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.label1 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(380, 140);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(100, 45);
            this.button1.TabIndex = 0;
            this.button1.Text = "button1";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(380, 63);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(35, 13);
            this.label1.TabIndex = 1;
            this.label1.Text = "label1";
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(593, 344);
            this.Controls.Add(this.label1);
            this.Controls.Add(this.button1);
            this.Name = "Form1";
            this.Text = "Form1";
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        public System.Windows.Forms.Button button1;
        public System.Windows.Forms.Label label1;
    }
Таксист вне форума Ответить с цитированием
Старый 24.12.2014, 13:26   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Таксист Посмотреть сообщение
Код:
Form2  form2 = new Form2();
form2.Show();
При таком вызове можно передавать данные только из родительской формы в дочернюю. Поэтому манипулировать методами родительской формы в таком случае не возможно.
Читайте здесь о том как передать данные из одной формы в другую. Там есть рабочие способы решения Вашей проблемы.
Streletz вне форума Ответить с цитированием
Старый 24.12.2014, 16:59   #3
Таксист
Пользователь
 
Аватар для Таксист
 
Регистрация: 11.12.2014
Сообщений: 66
По умолчанию

Цитата:
Сообщение от Streletz Посмотреть сообщение
Там есть рабочие способы решения Вашей проблемы.
Спасибо Большое, Добрый Человек, ты всегда помогаешь!
Таксист вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как установить фокус из другой формы konstantin1990 Microsoft Office Excel 3 08.08.2013 03:26
как обратиться из функции к другой функции Arassir JavaScript, Ajax 2 24.02.2012 21:31
Как в Visual Studio C++/CLI из одной формы обратиться к элементам другой? Sergey041691 Visual C++ 0 06.02.2012 22:21
Как обратиться к методу потомку ? [MI_nor] Общие вопросы по Java, Java SE, Kotlin 4 22.03.2011 08:13
Как обратиться к объекту формы из другого класса java micha-r Общие вопросы по Java, Java SE, Kotlin 1 03.10.2009 21:07