我有几个文本块控件,所有这些控件都调用单个事件。但我必须使用
独立地连接所有这些TextBlock1.MouseMove += new MouseEventHandler(TextBlock_MouseMove);
TextBlock2.MouseMove += new MouseEventHandler(TextBlock_MouseMove);
TextBlock3.MouseMove += new MouseEventHandler(TextBlock_MouseMove);
有没有办法可以将鼠标移动到所有TextBlock,而无需逐个连接它们
答案 0 :(得分:1)
您可以循环遍历表单的所有子控件,并将事件处理程序添加到您找到的每个文本块中。如果这些文本块在同一个网格/中,那么代码应该看起来像这样:
foreach(TextBlock vControl in GridName.Children)
{
vControl.MouseMove += new MouseEventHandler(TextBlock_MouseMove);
}
现在我的'foreach'部分错了。它可能需要从对象转换,具体取决于它们在Children集合中的存储方式。虽然如果你最终得到很多文本框会很好,你也可以设置文本框的样式,以便在鼠标移动时发出命令,但这需要预先填充一堆代码,这样做更容易。