[英]How to do mouse hover over HTML and click an option from the drop down after hover in selenium web driver
[英]How do i make my Mouse over(hover)and on click events while the program is running
我制作了一个程序,在其中询问椭圆的数量,并使椭圆在c#中的不同窗口中,但是我希望将鼠标悬停在效果上,我将其称为:MouseEnter和一个onclick事件,我将其称为MouseDown,但我制作了一系列椭圆,并尝试了以下操作:
namespace WpfApp1
{
/// <summary>
/// Interaction logic for Window2.xaml
/// </summary>
public partial class Window2 : Window
{
int numOfElipses;
public Window2()
{
InitializeComponent();
numOfElipses= MainWindow.numOfElipse;
Ellipse[] ellipsePoints = new Ellipse[numOfElipses];
Random rnd = new Random();
for (int i=0;i<numOfElipses; i++)
{
SolidColorBrush brush =
new SolidColorBrush(
Color.FromRgb(
(byte)rnd.Next(255),
(byte)rnd.Next(255),
(byte)rnd.Next(255)
));
var top = rnd.Next(0, 280);
var left = rnd.Next(0, 450);
ellipsePoints[i] = new Ellipse();
ellipsePoints[i].Width = 40;
ellipsePoints[i].Height = 40;
Canvas.SetTop(ellipsePoints[i], i);
Canvas.SetLeft(ellipsePoints[i], i*45);
ellipsePoints[i].Fill = brush;
c1.Children.Add(ellipsePoints[i]);
}
}
private void E1_MouseEnter(object sender, MouseEventArgs e)
{
Random r = new Random();
Ellipse ellipsePoints = (Ellipse)sender;
ellipsePoints.Fill = new
SolidColorBrush(Color.FromRgb((byte)r.Next(255), (byte)r.Next(255),
(byte)r.Next(255)));
}
private void E1_MouseDown(object sender, MouseButtonEventArgs e)
{
c1.Children.Remove((Ellipse)sender);
}
}
}
但是它不起作用。有人可以解释为什么以及如何使它在鼠标悬停(悬停)时随机更改颜色,并在单击鼠标时消失/移除吗? 我将非常感谢您的帮助!
如评论中所述,您实际上需要将事件关联到正在创建的椭圆上:
...
ellipsePoints[i].MouseEnter += E1_MouseEnter; // "hook up" the Mouse Enter event
ellipsePoints[i].MouseDown += E1_MouseDown; // "hook up" the Mouse Down event
c1.Children.Add(ellipsePoints[i]);
...
简单地创建E1_MouseEnter
和E1_MouseDown
方法并不会自动将它们连接起来,当我们考虑它时E1_MouseDown
有意义。 窗口上可能有许多具有这些事件的对象-代码应该如何知道应该听谁的代码?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.