在Windows窗体项目中,我有这个方法来设置动态创建控件的一些属性。在这种情况下,当用户将鼠标悬停在其上时,我还需要显示工具提示。除了一件事,我不知道如何将w [“text”]的值传递给control_MouseEnter。
private void SetProp(ref Control obiekt, Dictionary<string, string> w)
{
obiekt.Name = w["id"];
obiekt.Location = new Point(Convert.ToInt16(w["wspx"]), Convert.ToInt16(w["wspy"]));
obiekt.Height = Convert.ToInt16(w["wys"]);
obiekt.Width = Convert.ToInt16(w["szer"]);
if (w["text"] != "")
{
obiekt.MouseEnter += new EventHandler(control_MouseEnter);
obiekt.MouseLeave += new EventHandler(control_MoouseLeave);
}
}
private void control_MouseEnter(object sender, EventArgs e)
{
toolTip.Show("how to pass a value here ??", (Control)sender, 5000);
}
答案 0 :(得分:0)
如何将文本设置为 $correo = "media@gmaeil.com";
$compruebaCorreo=mysqli_query($link, "SELECT * FROM email WHERE email='$correo'");
while($imprimeCorreo=mysqli_fetch_array($compruebaCorreo))
{
if($imprimeCorreo['email']==$correo)
{
echo "Ya recibió los tps por su suscripción al Boletín de Todopolicia.com";
}
if($imprimeCorreo['email'] != $correo)
{
echo "Registramos el correo";
}
echo $imprimeCorreo['email'];
}
对象的Tag
成员?
S.th。与Control
类似,并使用事件处理程序
答案 1 :(得分:0)
我不知道必须将w [&#34; text&#34;]的值传递给control_MouseEnter。
您可以直接将数据与目标控件链接(例如通过Control.Tag属性)或间接链接(例如,通过全局变量/字典),或使用匿名委托和闭包来创建本地数据上下文: / p>
obiekt.MouseEnter += (s,e) => {
tooltip.Show(w["text"], (Control)s, 5000);
};
有没有办法以某种方式使用EventArgs?
不,你不能。因为args在鼠标事件发生时恰好在Control代码中实例化,并且您无法从事件订阅点控制EventArgs创建。