Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / передача значение в другой класс / 21 сообщений из 21, страница 1 из 1
17.11.2014, 12:43
    #38808132
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Form1
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
using System;
using System.Drawing;
using System.Windows.Forms;

namespace primeri
{
	public partial class Form1 : Form
	{
		Data data=new Data();
		
		public Form1()
		{
			InitializeComponent();
			MainForm mainform = new MainForm();	
			textBox2.Text = Convert.ToString(mainform.Max2);
		}
		
	
	void Button1Click(object sender, EventArgs e)
		{
		data.Max = Convert.ToInt32(textBox2.Text);
					
		this.Hide();
		}
		
	}
}



Data

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
 
using System;

namespace primeri
{
	
	public class Data
	{
		private int max;
		
		public int Max {
			set { max = value;}
			get { return max; }
		}
		
		
	}
}



Вопрос от начинающего, по ссылке задаваемых вопросов ходил...
Передаю с Form1 в Data, при дебаге в set value имеет заданное значение, max=0,
после прохода дебага, в max значение не передается...
Как его передать, чтобы установит mmax в необходимое значение,
...
Рейтинг: 0 / 0
17.11.2014, 13:05
    #38808167
ZHEKA_DON
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
что за mainform.Max2 ?
вы создаете в Form1 экземпляр класса Data и инициализируете св-во Max при нажатии кнопки1. в чем проблема? с чего вы решили что свойство не задано?
...
Рейтинг: 0 / 0
17.11.2014, 13:11
    #38808183
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Это главная форма с которой в Form1 передается текущее значение...
Mainform
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
/*
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;

namespace primeri
{
	public partial class MainForm : Form
	{
		public int ch1, ch2, rez, znak, chislo;
		public int max;
		public int good, bad;
		Random rnd=new Random();
		Data data=new Data();
	
		public MainForm()
		{
			InitializeComponent();
				
				rand();
			
	           }

// генерация случайного числа, выбор арифметического знака и вывод информации в инфо панель		
		public void rand()
		{	
				//max = Convert.ToInt32(toolStripTextBox1.Text);
				//max = Max2;
				
				max = data.Max;
				
				ch1= rnd.Next(0,max);// генерируем первое число
				ch2= rnd.Next(0,max+1-ch1);// генерируем второе число, но не больше чем максимальное минус первое
				znak= rnd.Next(0,2);
				
				if (znak == 1 && ch1 < ch2)// если первое число меньше второго, то меняем местами
				{
					int temp =ch2;
					ch2 = ch1;
					ch1 = temp;
				}

				if (znak == 0) label1.Text = Convert.ToString(ch1) +'+'+ Convert.ToString(ch2) + '=';//согласно знаку выводим сообщение
				if (znak == 1) label1.Text = Convert.ToString(ch1) +'-'+ Convert.ToString(ch2) + '=';
				
				if (znak == 0) rez = ch1 + ch2; // согласно знаку выполняем действие
				if (znak == 1) rez = ch1 - ch2;
				
				toolStripStatusLabel1.Text = "Правильно:" + Convert.ToString(good) + "  Неправильно:" + Convert.ToString(bad)+" max="+max;
				
				textBox1.Focus();//курсор ставим в textbox
		}

		void ToolStripMenuItem1MouseDown(object sender, MouseEventArgs e)
		{
			Form1 form1 = new Form1(); // просто создаем экземпляр
			form1.textBox2.Text = Convert.ToString(Max2);
			form1.Show(); // и не модально открываем
		}
		
	}
}
...
Рейтинг: 0 / 0
17.11.2014, 13:13
    #38808190
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
в MainForm вы создаете ДРУГОЙ экземпляр класса Data
Естественно, в нем будет ДРУГОЕ значение свойства
...
Рейтинг: 0 / 0
17.11.2014, 13:16
    #38808197
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
monstr76 Form1
[src c#]
public partial class Form1 : Form
{
Data data=new Data();



Что и куда должно передаваться, не понятно.
Рискну предположить, что Form1 создается не один раз на все приложение, а заново каждый раз при показе. Поэтому и в data каждый раз исходные значения (т.е. 0)
...
Рейтинг: 0 / 0
17.11.2014, 13:22
    #38808214
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Shocker.Proв MainForm вы создаете ДРУГОЙ экземпляр класса Data
Естественно, в нем будет ДРУГОЕ значение свойства

как мне обратиться к Data без создания экземпляра?
...
Рейтинг: 0 / 0
17.11.2014, 13:22
    #38808215
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
monstr76Это главная форма с которой в Form1 передается текущее значение...
Mainform
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
/*
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;

namespace primeri
{
	public partial class MainForm : Form
	{
		void ToolStripMenuItem1MouseDown(object sender, MouseEventArgs e)
		{
			Form1 form1 = new Form1(); // просто создаем экземпляр
			form1.textBox2.Text = Convert.ToString(Max2);
			form1.Show(); // и не модально открываем
		}
		
	}
}
.....

public partial class Form1 : Form
	{
		Data data=new Data();
		
		public Form1()
		{
			InitializeComponent();
			MainForm mainform = new MainForm();	
			textBox2.Text = Convert.ToString(mainform.Max2);
		}

		
	}



Круговорот форм в природе. Кто кого должен создавать?
...
Рейтинг: 0 / 0
17.11.2014, 13:24
    #38808219
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Внятно русским языком опиши, чего ты хочешь добиться. Например так - "есть число в главной форме, хочу получить его в дочерней форме, поработать с ним, и измененное число увидеть в главной форме"
...
Рейтинг: 0 / 0
17.11.2014, 13:25
    #38808221
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
monstr76как мне обратиться к Data без создания экземпляра?можно использовать статические классы, можно передавать экземпляр класса в форму при создании формы. Все зависит от задачи, о которой мы ничего не знаем
...
Рейтинг: 0 / 0
17.11.2014, 13:28
    #38808226
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Pallarismonstr76Это главная форма с которой в Form1 передается текущее значение...
Mainform
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
/*
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.Threading;

namespace primeri
{
	public partial class MainForm : Form
	{
		void ToolStripMenuItem1MouseDown(object sender, MouseEventArgs e)
		{
			Form1 form1 = new Form1(); // просто создаем экземпляр
			form1.textBox2.Text = Convert.ToString(Max2);
			form1.Show(); // и не модально открываем
		}
		
	}
}
.....

public partial class Form1 : Form
	{
		Data data=new Data();
		
		public Form1()
		{
			InitializeComponent();
			MainForm mainform = new MainForm();	
			textBox2.Text = Convert.ToString(mainform.Max2);
		}

		
	}



Круговорот форм в природе. Кто кого должен создавать?

есть главная форма Main, при нажатии на пункт меню, открывается Form1 с настройками, есть Class Data, где должны храниться значения переменных.
с Form1 передается значение в Data, чтобы потом в Main я его смог инспользовать(считывая с Data).
...
Рейтинг: 0 / 0
17.11.2014, 13:34
    #38808240
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
monstr76
есть главная форма Main, при нажатии на пункт меню, открывается Form1 с настройками, есть Class Data, где должны храниться значения переменных.
с Form1 передается значение в Data, чтобы потом в Main я его смог инспользовать(считывая с Data).

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
partial class Form1: Form
{
     private Data _data;
     public void Form1()
     {
           InitializeComponent();
     }
     public void Form1(Data income):this()
     {
           _data = income;
     }
      
     private void Form1_Load(object sender, EventArgs e)
     {
           if (_data == null)
              return;
           textBox1.Text = _data.Max.ToString();
     }
}

partial Class MainForm:Form
{
      Data _globalData = new Data();
      
      void ToolStripMenuItem1MouseDown(object sender, MouseEventArgs e)
		{
			Form1 form1 = new Form1(_globalData); // просто создаем экземпляр
			form1.Show(); // и не модально открываем
		}
}
...
Рейтинг: 0 / 0
17.11.2014, 13:43
    #38808263
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Pallarismonstr76есть главная форма Main, при нажатии на пункт меню, открывается Form1 с настройками, есть Class Data, где должны храниться значения переменных.
с Form1 передается значение в Data, чтобы потом в Main я его смог инспользовать(считывая с Data).

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
partial class Form1: Form
{
     private Data _data;
     public void Form1()
     {
           InitializeComponent();
     }
     public void Form1(Data income):this()
     {
           _data = income;
     }
      
     private void Form1_Load(object sender, EventArgs e)
     {
           if (_data == null)
              return;
           textBox1.Text = _data.Max.ToString();
     }
}

partial Class MainForm:Form
{
      Data _globalData = new Data();
      
      void ToolStripMenuItem1MouseDown(object sender, MouseEventArgs e)
		{
			Form1 form1 = new Form1(_globalData); // просто создаем экземпляр
			form1.Show(); // и не модально открываем
		}
}



А как сделать проще, если с Main передавать в Form1 textbox, а из textbox Form1 в переменную в Main? без класса Data?
...
Рейтинг: 0 / 0
17.11.2014, 13:50
    #38808283
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
monstr76,

а это типа сложно? Переменную ты все равно УЖЕ хранишь в MainForm.
...
Рейтинг: 0 / 0
17.11.2014, 13:54
    #38808290
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Pallaris,

он же сказал, что он начинающий, судя по тому, что он пишет, он 0 уровень :)
...
Рейтинг: 0 / 0
17.11.2014, 13:54
    #38808292
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Roman MejtesPallaris,

он же сказал, что он начинающий, судя по тому, что он пишет, он 0 уровень :)
Сори но пока в ооп да (
...
Рейтинг: 0 / 0
17.11.2014, 13:55
    #38808294
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
...
Рейтинг: 0 / 0
17.11.2014, 13:58
    #38808299
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Roman Mejtesmonstr76,
http://citatyizfilmov.ru/video/2259/Отныне-существует-нулевой-уровень

переход с Delphi плохо сказывается, но не смешно, в предыдущей среде писалось не маленькое ПО.
...
Рейтинг: 0 / 0
17.11.2014, 13:59
    #38808303
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
monstr76,

пишите по теме.
...
Рейтинг: 0 / 0
17.11.2014, 14:07
    #38808325
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
monstr76пишите по теме.по теме уже все сказано выше, чего-то нового не будет
...
Рейтинг: 0 / 0
17.11.2014, 14:09
    #38808329
monstr76
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
Shocker.Pro,

Спасибо за помощь.
...
Рейтинг: 0 / 0
17.11.2014, 18:19
    #38808687
Macks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
передача значение в другой класс
monstr76monstr76,

пишите по теме.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
	public class Data
	{
		private static int max;
		
		public static int Max {
			set { max = value;}
			get { return max; }
		}		
	}
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / передача значение в другой класс / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]