我寫了這段代碼:
private void maskedNASC_KeyDown(object sender, KeyEventArgs e)
{
maskedNASC.BackColor = Color.Aqua;
}
private void maskedNASC_Leave(object sender, EventArgs e)
{
maskedNASC.BackColor = Color.White;
}
我想將此屬性應用于表單的所有文本框和掩碼文本。
我見過很多這樣的代碼:
void SetProperty(Control ctr) // resalta textbox onfocus
{
foreach (Control control in ctr.Controls)
{
if (control is TextBox)
{
control.Leave == control.BackColor = Color.Aqua;
control.KeyDown = BackColor = Color.White ;
}
}
}
寫這個的正確方法是什么?
謝謝。亞歷杭德羅。
uj5u.com熱心網友回復:
你可以這樣寫
void SetProperty(Control ctr) // resalta textbox onfocus
{
foreach (Control control in ctr.Controls)
{
if (control is TextBox)
{
control.Leave -= control_Leave; //Remove control_Leave if already binded.
control.Leave = control_Leave; //Assigne control_Leave
control.KeyDown -= control_KeyDown ; //Remove control_KeyDown if already binded.
control.KeyDown = control_KeyDown ; //Assigne control_KeyDown
}
}
}
private void control_Leave(object sender, EventArgs e)
{
((Control)sender).BackColor = Color.Aqua;
}
private void control_KeyDown(object sender, KeyEventArgs e)
{
((Control)sender).BackColor = Color.White;
}
uj5u.com熱心網友回復:
例如,您可以使事件更普遍
private void TextBoxEvent_Leave(object sender, EventArgs e)
{
if (sender is TextBox bx)
{
bx.BackColor = Color.White;
}
}
private void TextBox_KeyDown(object sender, EventArgs e)
{
if (sender is TextBox bx)
{
bx.BackColor = Color.Red;
}
}
并在建構式中添加
this.maskedNASC.Leave = TextBoxEvent_Leave;
this.maskedNASC.KeyDown = TextBox_KeyDown;
對于您擁有的每個文本框
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/389748.html
標籤:C#
上一篇:獲取具有“最大索引”的檔案夾
