假设:
有一个默认值为“test”(this->textBox1->Text = L"test";
)的文本框,并且在运行时,text(属性)的值由main()中的语句设置为“modified”。
冷酷无情的事实:
这似乎不可能,因为对象是private
。此外,表单标题中还有一条注释,表示修改内容是一个愚蠢的想法,因此无法公开。
问题:
我完全是这样做的 错误的方式?
在运行时修改表单对象属性的正确方法是什么?
如果我使用WPF,这会避免这种混乱吗?这不是一个选择,但我很好奇。
谢谢!
答案 0 :(得分:1)
在派生的表单类中提供操作表单控件的公共包装器方法,并从其他类中调用它们。
答案 1 :(得分:0)
public ref class MyForm: Form
{
//...
public:
void SetTextOfTextBox1(System::String ^t)
{
this->textBox1->Text=t;
}
}
在“主要”中:
// ...
MyForm ^f = gcnew MyForm();
// ...
f->SetTextOfTextBox1("modified");