我创建了一个名为ucTextBox
的usercontrol文本框,其中包含一个标签,一个文本框和两个按钮。我把它放在我的表格中。
现在,我想在表单中的每个ucTextBox
,TextBox
和MaskedTextBox
上附加一个MouseHover事件。
我这样做:
public void AttachHoverEvent(Control CTrl)
{
foreach (Control c in CTrl.Controls)
{
if (c is TextBox || c is MaskedTextBox)
{
c.MouseHover += new EventHandler(afficheDictionnaireChamp);
c.MouseLeave += new EventHandler(desafficheDictionnaireChamp);
continue;
}
if (c is ucTextBox)
{
c.MouseHover += new EventHandler(afficheDictionnaireChamp);
c.MouseLeave += new EventHandler(desafficheDictionnaireChamp);
continue;
}
if (c.HasChildren)
{
AttachHoverEvent(c);
}
}
}
注意:我将ucTextBox
置于其他条件下以设置断点并且条件为真。
我的代码适用于TextBox
和MaskedTextBox
但不适用于我的代码
ucTextBox
(没有任何事情发生)。
我尝试在我的ucTextBox
课程中添加此内容:
private void txbValeur_MouseHover(object sender, EventArgs e)
{
if (this.MouseHover != null)
this.MouseHover(this, e);
}
这是我的目标事件功能:
public void afficheDictionnaireChamp(object sender, EventArgs e)
{
Dictionnaire dico = new Dictionnaire();
Control snd = (Control)sender;
string table = dico.getNomTable(this.Name, snd.Name);
string champ = dico.getNomChamp(this.Name, snd.Name);
if (table != "" && champ != "")
Globals.FormMain.tslTable.Text = table + " - " + champ;
else
Globals.FormMain.tslTable.Text = "";
}
public void desafficheDictionnaireChamp(object sender, EventArgs e)
{
Globals.FormMain.tslTable.Text = "";
}
如果有人知道问题可以从哪里来?
提前致谢!
托马斯
答案 0 :(得分:0)
尝试将您的父控件背景设置为"透明"