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


Автор: arkonst 10.4.2008, 14:01
Здравствуйте КОЛЛЕГИ!

Помогите пожалуйста!!!Каким образом можно передать значение забиваемое в textbox одной формы ,в массив другой формы,для дальнейшей обработки????

Автор: vponomarov 10.4.2008, 14:04
arkonst, пользуйся поиском smile 
http://forum.vingrad.ru/forum/topic-52713.html

Автор: arkonst 10.4.2008, 14:22
спасибо...я уже ничего там не нашел...

Автор: Gelis 10.4.2008, 15:00
Цитата(arkonst @  10.4.2008,  14:01 Найти цитируемый пост)
!Каким образом можно передать значение забиваемое в textbox одной формы ,в массив другой формы,для дальнейшей обработки????

Можно уточнить задачу. Форма создается из формы которая создается для текущей как модальное окно или это две независимых формы? Или это вообще две формы разных приложений?

Автор: masterik 10.4.2008, 15:15
Цитата(arkonst @  10.4.2008,  13:01 Найти цитируемый пост)
Каким образом можно передать значение забиваемое в textbox одной формы ,в массив другой формы,для дальнейшей обработки???? 


Примерно так:
Код

public class Form1 : System.Windows.Forms.Form
{
      private System.Windows.Forms.TextBox textbox1;
      private System.Windows.Forms.Button button1;

      public Form1()
      {
            // ....
            this.button1.Click += new EventHandler(button1_Click);
      }

      private void button1_Click(object sender, EventArgs e)
      {
            Program.frm2.AddString(this.textbox1.Text);
      }

      // .....
}

public class Form2 : System.Windows.Forms.Form
{
      private List<string> arrayOfStrings;

      public void AddString(string str)
      {
           this.arrayOfStrings.Add(str);
      }

      // ....
}

class Program
{
    public static Form2 frm2 = new Form2();

    // ......
}

Автор: arkonst 10.4.2008, 15:41
Значит так.....у меня есть форма 1 главная....вней прописана вот  функция для записи в ячейку памяти контроллера.......и есть форма 11...в нее мне нужно вбить например какое то число.....и нажать кнопку "изменить"....и после нажатия число из textbox-a формы 11 должно по идее перекочевать в функция описанную в коде формы 1.......вот как я это реализовал

Form11 frm11 = new Form11();
value[0] = Convert.ToUInt16(frm11.txtValue1.Text);

имя txtValue1  это есть как раз имя того текстбокса....

все нормально компилируеться....но при запуске debug вылазит ошибка...пишет типа входные данные не правильны и указывает на строку где происходит конвертация.....

до этого в месте где записана ссылка на txtValue1 ...была ссылка на другой текстбок но который находился непосредственно на форме 1...тогда все работал.....а вот при таком раскладе как сейчас я пытаюсь передать из другой формы...уже не выходит.....что за фигня понять не могу.....

Автор: Gelis 10.4.2008, 18:01
ошибка ясна. У тебя передается пустой аргумент по ходу попробуй так
на кнопку "изменить" поставь свойство DialogResult - OK
Т напиши следующий код
Код

Form11 frm11 = new Form11();
if(frm11.ShowDialog()==DialogResult.OK)
{
value[0] = Convert.ToUInt16(frm11.txtValue1.Text);
}

Автор: ProgrammingLife 10.4.2008, 22:09
Нужно форму сделать статическим но как сделать? smile  покажите 

Автор: jonie 10.4.2008, 23:07
статическим членом?
Код

 static Form1 frm;

только зачем...

Автор: mr.DUDA 11.4.2008, 09:54
Цитата(arkonst @  10.4.2008,  15:41 Найти цитируемый пост)
все нормально компилируеться....но при запуске debug вылазит ошибка...пишет типа входные данные не правильны и указывает на строку где происходит конвертация.....

А слабо посмотреть в отладчике, что лежит в текстбоксе? И зачем создавать пустую форму, которую даже не показываем пользователю а сразу оттуда тянем текст из текстбокса? Вообще смысл есть в этом какой-то ???  smile 

http://forum.vingrad.ru/index.php?show_type=forum&showtopic=52713

Модератор: Тема закрыта.

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