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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2011, 18:03   #1
Sanuch89
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 17
Печаль Проблема с созданием экземпляра С#

Проблема в следующем: нужно получить и поменять значение Textbox, который на форме, методом другого класса. При создании экземпляра класса Form1, Textbox обнуляется, так как происходит новая инициализация компонентов в конструкторе Form1 (я так понимаю).
После выполнения s="".
С классами никогда раньше не работал. Подскажите пожалуйста, можно как-то сделать иначе???


Код:
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 lab_2
{
    public partial class Form1 : Form
    {
      
       public Form1()
        {
            InitializeComponent();
        }
        
        public void button_go_Click(object sender, EventArgs e) //При нажатии идет обработка
        {            
                        Sposob sh = new Sposob();
                       sh.Sp_3();           
        }

                  public string TextBox_aText
                  {
                      get
                      {
                          return textBox_a.Text;           
                      }
                      set
                      {
                          textBox_a.Text=value;
                      }
                  }
                                
    }
    public class Sposob
    {
        public void Sp_3()
        {
            Form1 sp=new Form1();
            string s=sp.TextBox_aText;            
        }
    }
}
Sanuch89 вне форума Ответить с цитированием
Старый 29.07.2011, 18:35   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> поменять значение Textbox, который на форме, методом другого класса

набор слов.
Скажите, чего вы хотите добиться, а не как.

Поменять значение свойства Text у комоненты типа TextBox, на новое значение, которе хранится в свойстве другого объекта?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 29.07.2011, 18:54   #3
Sanuch89
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 17
По умолчанию

Мне нужно взять из Textbox значение, провести вычисления и вставить назад.
Это всё должен делать метод нового класса (не класса формы)
Загвоздка в том, что при создании экземпляра класса формы, то что было введено в TextBox обнуляется.
Sanuch89 вне форума Ответить с цитированием
Старый 29.07.2011, 20:25   #4
G-Kyller
Пользователь
 
Регистрация: 11.03.2011
Сообщений: 67
По умолчанию

Цитата:
Загвоздка в том, что при создании экземпляра класса формы, то что было введено в TextBox обнуляется.
Оно не обнуляется, оно изначально пусто, т.к. форма новая.
Тебе надо передать туда значение текстового поля(как аргумент), либо обращаться к текстовому полю старой формы(где оно заполнено), а не новой где оно пустое
Если помог, жми спасибо
G-Kyller вне форума Ответить с цитированием
Старый 29.07.2011, 21:16   #5
Sanuch89
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 17
По умолчанию

Цитата:
Сообщение от G-Kyller Посмотреть сообщение
Оно не обнуляется, оно изначально пусто, т.к. форма новая.
Тебе надо передать туда значение текстового поля(как аргумент), либо обращаться к текстовому полю старой формы(где оно заполнено), а не новой где оно пустое
Да согласен с тобой. Решить проблему можно не создавая экземпляр класса формы(через static либо через передачу в качестве аргумента), но хотелось бы создать. Но наверное это не возможно Но потом же если нужно будет вставить обработаное значение первого TextBox в другой TextBox на этой же форме, нужно будет прописать метод в классе формы, который это всё реализует?????

P.S. С нулем передается потому, что я создаю в этом методе новый экземпляр формы с пустыми контролами и переменными, я так понял???

Цитата:
Сообщение от G-Kyller Посмотреть сообщение
либо обращаться к текстовому полю старой формы(где оно заполнено), а не новой где оно пустое
А как к нему обратиться ???

Последний раз редактировалось Stilet; 30.07.2011 в 12:52.
Sanuch89 вне форума Ответить с цитированием
Старый 30.07.2011, 16:15   #6
Sanuch89
Пользователь
 
Регистрация: 23.02.2010
Сообщений: 17
По умолчанию

Всё, всем спасибо, сделал!!!
Sanuch89 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с созданием Handle Miller-1981 C++ Builder 2 23.01.2011 12:43
Проблема с созданием пользователя shtep PHP 0 19.12.2010 16:38
Проблема с созданием класса Arkuz Общие вопросы Delphi 10 18.04.2010 14:18
Проблема с созданием CButton st1q Общие вопросы C/C++ 5 14.09.2008 13:57