[closed][c#]The type or namespace name 'label2' could not be found
может кто знает в чем дело?Ищи строчку где определена переменная label2, есть вероятность что ты ее не найдешь.
все так и есть. она в другом классе....
но все равно не работает,теперь пишет
d:\Mydoc\Visual Studio Projects\insurance\Form1.cs(204): An object reference is required for the nonstatic field, method, or property 'insurance.Form1.label2'
код такой
но все равно не работает,теперь пишет
d:\Mydoc\Visual Studio Projects\insurance\Form1.cs(204): An object reference is required for the nonstatic field, method, or property 'insurance.Form1.label2'
код такой
Form1.label2.Text+="продукт создан ";
Form1.panel1.Refresh;
Эта ошибка решается чтением хоть какой нибудь книги по C#.
ок,тогда хоть тему скажи.на C# впервые прогаю,можно считать
P.S. в том-то и дело,что нет у меня таковой. может даст кто на день?
ок,тогда хоть тему скажи.на C# впервые прогаю,можно считатьТема называется "Основы". На чем же ты до этого программировал?
что нет у меня таковой. может даст кто на день?
Прочти ebook спаси дерево.
Прочти ebook спаси дерево.

спасибо тебе большое.а теперь завались
может есть кто поможет?
может есть кто поможет?
код покажи.
думаю весь не стоит.
это в Form1(но не только это):
это в Form1(но не только это):
public System.Windows.Forms.Panel panel1;дальше другой класс
public System.Windows.Forms.Label label2;
//
// panel1
//
this.panel1.Controls.Add(this.label2);
this.panel1.Location = new System.Drawing.Point(8, 16);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(280, 240);
this.panel1.TabIndex = 0;
this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint);
//
// label2
//
this.label2.Location = new System.Drawing.Point(64, 72);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(152, 112);
this.label2.TabIndex = 0;
this.label2.Text = "label2";
this.label2.Click += new System.EventHandler(this.label2_Click);
public class products// продукты страховой компании
{
public int max,deduct,mes_vznos,srok_dogovora;
products(int kon_mes_vznos,int kon_srok_dogovora,int kon_deduct,int kon_max)//конструктор,получение начальных данных
{
max=kon_max;
deduct=kon_deduct;
mes_vznos=kon_mes_vznos;
srok_dogovora=kon_srok_dogovora;
Form1.label2.Text+="продукт создан "; Form1.panel1.Refresh;
}
~products{ label2.Text+="умер продукт ";panel1.Refresh;}
void ch_max(int newmax)//изменяем максимальную сумму страх. возмещения
{
max=newmax;
}
void ch_deduct(int newdeduct)//сменить франшизу
{
deduct=newdeduct;
}
}
Я в C# (и вообще в C) не гуру, но ты тут, где обращаешься к panel1 - это panel1 _класса_ Form1 или _объекта_ Form1? И если второе - то откуда у тебя этот объект должен появиться внутри products::products?
ну? неужели нет никого?
public class Form1 : System.Windows.Forms.Form
сейчас попробую исправить
откуда у тебя этот объект должен появиться внутри products::products?блин,вопрос хороший..походу проблема имеено здесь
что-то слишком много времени...
лучше перефразировать вопрос,так проще будет:
как вывести данные на окно?
лучше перефразировать вопрос,так проще будет:
как вывести данные на окно?

блин,я на unix'e прогал,только на консоль и в файл выводил. и понятия не имею как выводить в окно винды.чего смешного?
Проблема в следующем: для того, чтобы обратиться к полю одного класса в другом, тебе нужно: 1) во-первых, чтобы это поле было объявлено как public(это у тебя есть)
2)далее нужно передать объект перового класса во второй, например, через конструктор:
пример:
class Form1
{
public Label label1;
}
class Test
{
Form1 f1;
publicTest(Form1 f1)
{
this.f1 = f1;
}
private void TestMethod
{
f1.label1.text="qqqqq";
}
}
А как ты хочешь сделать, это надо переменную объявлять статически, тогда будет тебе доступ через имя класса, но для элементов управления это, по-моему, не прокатывает.
2)далее нужно передать объект перового класса во второй, например, через конструктор:
пример:
class Form1
{
public Label label1;
}
class Test
{
Form1 f1;
publicTest(Form1 f1)
{
this.f1 = f1;
}
private void TestMethod
{
f1.label1.text="qqqqq";
}
}
А как ты хочешь сделать, это надо переменную объявлять статически, тогда будет тебе доступ через имя класса, но для элементов управления это, по-моему, не прокатывает.
А по поводу вывода данных на окно: если ты работаешь в одном классе, то просто делаешь, как ты и написал:
class Form1
{
private Label label1;
private void TestMethod
{
label1.Text = "dsklfhalkserhf";
}
}
class Form1
{
private Label label1;
private void TestMethod
{
label1.Text = "dsklfhalkserhf";
}
}
с точки зрения C++ все здорово.но!
у тебя есть строка Form1 f1; у меня ее нет,но приложение работает..видимо из функции в классе Form1: :static void Main
{
Application.Run(new Form1;
}
понимаешь?и создается объект класса форм1.но как,блин,достать,этот объект?
а раз один такой объект создан,то создавать еще один такой-не есть хорошо
у тебя есть строка Form1 f1; у меня ее нет,но приложение работает..видимо из функции в классе Form1: :static void Main
{
Application.Run(new Form1;
}
понимаешь?и создается объект класса форм1.но как,блин,достать,этот объект?
а раз один такой объект создан,то создавать еще один такой-не есть хорошо
либо из аппликейшна можно достать ссылку, либо модифицировать указанный код, что-то типа такого:
Application.Run(saveForm1 = new Form1;
Application.Run(saveForm1 = new Form1;
Немного не понял, что ты написал. Объект передается через ключевое слово this.
Вот простой пример:
class Form1
{
public Label label1;
private void TestMethodInForm1
{
Test test = new Test(this);
test.TestMethodInTest;
}
}
class Test
{
Form1 f1;
public Test(Form1 f1)
{
this.f1 = f1;
}
private void TestMethodInTest
{
f1.label1.text="qqqqq";
}
}
Вот простой пример:
class Form1
{
public Label label1;
private void TestMethodInForm1
{
Test test = new Test(this);
test.TestMethodInTest;
}
}
class Test
{
Form1 f1;
public Test(Form1 f1)
{
this.f1 = f1;
}
private void TestMethodInTest
{
f1.label1.text="qqqqq";
}
}
Эта ошибка решается чтением хоть какой нибудь книги по C#.беру свои слова обратно.ты был прав.на знаниях c++ не выкатишь тут. много чего узнал нового. самое главное- важность понятия static. прости,что грубо ответил
Оставить комментарий
Lizabeth
чертовы 2 строчки не работают!хотя оба объекта созданы. пишет вот это
может кто знает в чем дело?