是否可以选择定义文本并稍后使用它而不是作为字符串或任何东西,只是作为函数的一部分,但能够在程序中间重新定义它(定义不在预处理器中进行,但是运行)?例如,我在 C++ Windows 窗体中有以下代码:
private: System::Void ps1_GotFocus(System::Object^ sender, System::EventArgs^ e)
{
if(this->ps1->Text == L"/ Your text here /") this->ps1->Text = L"";
this->ps1->ForeColor = System::Drawing::Color::FromName( "Black" );
}
private: System::Void ps2_GotFocus(System::Object^ sender, System::EventArgs^ e)
{
if(this->ps1->Text == L"/ Your text here /") this->ps1->Text = L"";
this->ps2->ForeColor = System::Drawing::Color::FromName( "Black" );
}
在哪里ps1
和ps2
是TextBoxes,我用它来显示一个灰色的“你的文本在这里”字符串,当在 TextBox 中单击准备输入时(当 TB 时GotFocus
)以清除文本并使输入变为黑色。考虑到我有 9 个这样的文本框,是否可以用更少的代码完成所有这些工作?我在使用该 ps 的所有东西之外尝试了相同的代码#define ps ps1
和一个全局方法,但正如您所知, s 是在预处理器中完成的,最后一个 define ( ) 甚至在程序启动之前就已经定义了。ps_GetFocus()
#define
ps ps9
有没有办法在运行时定义非范围文本?