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


Автор: Competitor 6.1.2006, 16:01
Как можно на С++ из отдельного класса изменить что-либо в главной форме проекта, например, поле Text?
Если написать
Код

Form1 f;
f->Text="asdasd";

то заголовок формы не меняется.


Автор: VisualProgrammerNET 6.1.2006, 16:59
Я конечно делаю немного по-извращенски... в классе делаю поле типа Form, куда передаю значение нужной формы. Конструктор тогда будет выглядеть как-нить типа:

Код

public void MyClass (..., ..., Form f)
{
...
this.FormVariable = f;
...
}


Вызывешь класс из главной формы соотв MyClass mc = new MyClass (..., ..., this)

ЗЫ. Это я для C# написал, но я думаю, на МС++ будет нечто похожее smile

Автор: Exception 6.1.2006, 19:26
Нельзя ли поподробнее?
Я так понял, ты сам объект не создаешь?
Нужно типа такого:
Код

Form1 f = gcnew Form();
f.ShowDialog();
f->Text="asdasd";

Код примерный, я MC++ не знаю.

Автор: Competitor 9.1.2006, 10:34
VisualProgrammerNET
Красавец!
На C++ так получилось:
Код

//f1.h
class f1
{
public:
    f1(System::Windows::Forms::Form^ f);
    void ret();
private:
    System::Windows::Forms::Form^ fff;
};

//f1.cpp
f1::f1(System::Windows::Forms::Form^ f)
{
    fff=f;
}

void f1::ret()
{
    fff->Text="texttext";
}

//Form1.h
f1 der(this);
der.ret();

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