C# WebBrowser向Flash对象发送鼠标点击事件
我一直在阅读,但似乎没有找到这个问题的答案.目的是:我在Windows表单项目中有一个WebBrowser.加载了一个HTML页面,在该HTML页面中有一个闪存对象.我的目标是将鼠标单击发送到该闪存对象的(x,y)位置. (所需的)必需品 带有Windows表单可执行文件的窗口不需要活动才能使此工作 不得捕获鼠标 相对于Flash对象或网页发送基于坐标(X,Y)的鼠标单击 示例 想象我在Webbrowser中打开了任何塔式防御游戏.我想模拟点击购买并放置新塔.在Proccess期间,用户不得放松对鼠标的控制.如果在Pixel(x,y)=(30,50)是一个按钮,我想单击该按钮,我只能打电话WebBrowser.simulateLeftClick(30, 50). . 解决方案 [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)] static extern IntP
10 2024-04-26
编程技术问答社区
对多个对象使用相同的处理程序 WPF C#
这是将一些农作物拖在图像上拖动的逻辑,并且有效.但是我在不同的窗口上有多个图像(由于这些文件不同),我想为所有窗口分配相同的逻辑,但是我不想在任何地方复制相同的代码.有什么方法可以做吗? private bool isDragging; private Point clickPosition; private void OnMouseMove(object sender, MouseEventArgs e) { if (isDragging) { Point currentPosition = e.GetPosition(this.Parent as UIElement); double xdiff = currentPosition.X - clickPosition.X; double ydiff = currentPosition.Y - clickPos
2 2024-04-26
编程技术问答社区
WinForms-禁用默认的鼠标在项目上悬停的行为?
我有一个带有项目的ComboBox.我也有一个SelectedIndexChange事件. 当我打开ComboBox并悬停在一个项目上时,SelectedIndex属性似乎会更改为该项目.我只想在单击该项目时更改它.是否可以禁用该行为? 我有一个计时器,它基于ComboBox的SelectedIndex刷新Image,但即使我突出显示项目但不选择,为什么Image为什么不应该更改Image而且只有在我选择一个项目时才能更改. 解决方案 问题 当鼠标在ComboBox的项目上移动时,SelectedIndex会更改,但SelectedIndexChanged事件不会发射,因此在计时器Tick事件中,您将看到更改,而Tick t火. 重现问题的方案 要简单地重现问题,将Timer放在表单上并启用它,然后处理其Tick事件.还要添加ComboBox并在其中添加一些项目并处理其SelectedIndexChanged事件.当您打开下拉列表并将鼠标移到项目上时,您将
8 2024-04-26
编程技术问答社区
如何知道鼠标在画布上点击了什么控件?
我正在创建C#WPF应用程序,并寻找一种方法来执行以下操作: 我有一个帆布,其中包含不同的用户控件和一个按钮. 当我单击按钮时,光标将更改为手(canvas.cursor = Cursors.Hand) 然后,如果我单击其中一个控件,我将获得一个消息框,显示了单击控件的名称(名称是控件的公共属性). 如果我单击其他地方,则我将重置光标,然后再单击按钮,然后才能再次获取名称. 我尝试玩活动和处理程序,但无法实现我想要的. 非常感谢您的帮助 解决方案 您可以使用Canvas.MouseDown并与GetPosition()一起使用GetPosition()鼠标下降事件,以获取单击的元素. public void MouseDownHandler(object sender, MouseButtonEventArgs e) {
12 2024-04-26
编程技术问答社区
转换鼠标位置
我需要一些帮助鼠标位置和屏幕分辨率的帮助. 我有两个应用程序在两台单独的机器上运行: application1 (分辨率:1920 x 1200)捕获鼠标位置,然后将位置值发送到Application2. Application2 (分辨率:1280 x 800)根据这些值接收并设置光标位置. 这可以正常工作,我遇到的问题是,该应用程序1与Application2相比具有不同的屏幕分辨率,因此鼠标位置从Application1发送1请勿转换为application2. P> 有人知道如何将这些光标位置(x,y)值转换为正确的值吗?基于表单窗口大小. 这是Application1捕获鼠标位置的方式: Point mouseLocation; public Form1() { InitializeComponent(); this.MouseMove += new MouseEventHandler
8 2024-04-26
编程技术问答社区
检查鼠标按键下拉后的时间,然后再检查鼠标按键上拉的时间。
我认为这一定只是一个小问题,但是我对此无法清楚地考虑.有人一个主意? 我在画布上有一些边界(装满了图像),我想单击边框(我使用onmouseleftbuttondown做到这一点),边框变成红色(因此用户确定他已经单击了哪个对象),然后,1或2秒后,当鼠标仍推下鼠标时,应启动拖动. 起初,我在按钮内有边界,但是Clickevent似乎与Dragevent冲突.因此,我摆脱了按钮,直接在边界内完成了所有操作,这也很好.但是,在鼠标布特顿镇(Mousebuttonup 某人是一个干净解决方案的想法? 解决方案 private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) { _source = sender as Border; Mouse.Capture(_source); } private void OnMouseLeftButtonUp(object send
0 2024-04-26
编程技术问答社区
如何在C# WINForm数据网格视图中,当鼠标滚轮事件发生时,使滚动条注意滚动
可能的重复: c# - 我如何防止鼠标旋转我的组合? 禁用combobox vb.net中的鼠标卷轴 所有 我有一个问题,我想在制作鼠标时,要使垂直旋转式不在datagridview中滚动. 我有一些这样的代码: private void dgwFlowerPics_MouseWheel(object sender, MouseEventArgs e) { int iRowIndex = iSelectedIndex; if (e.Delta > 0) { SendKeys.Send("{UP}"); } else { SendKeys.Send("{DOWN}"); } } 但是,当我将鼠标滚动时,滚动栏仍然滚动.我如何解决? 解决方案 我认为这类似于 c#
8 2024-04-25
编程技术问答社区
如何为饼图中的一个项目(点)创建一个鼠标点击事件?
我正在创建ASP.NET/C#网站 我使用ASP.NET 4.0图表控制,绘制饼图. 有没有办法为用户单击鼠标单击项目(点)时创建动作吗? 例如,单击一个项目,是颜色更改,或者用户获取项目的名称或... 谢谢您的任何帮助 是否还有一种在项目上的事件上创建鼠标的方法? 解决方案 确保在ASP.NET和Windows表单上都有一些可以进行交互的选项. 在这里检查:有一个单击传说的示例: using System.Web.UI.DataVisualization.Charting; ... // Set the legend cell to an image showing selection cleared Chart1.Legends[0].CustomItems[0].Cells[0].Image = "./cleared.png"; Chart1.Legends[0].CustomItems[0].Cells[0].PostBackValue
4 2024-04-25
编程技术问答社区
WPF 鼠标移动
当鼠标触发事件时,链接方法的最佳方法是什么? 一个示例. 当鼠标悬停在按钮上时.诸如计数之类的方法. ,只要鼠标越过按钮,计数就会继续增加. 如何将鼠标通过事件连接到方法?使用xaml?! 有什么想法吗?! 解决方案 做到这一点的一种方法是通过附加的属性,尤其是在您要重复使用此功能的情况下. 表达混合的Behavior类使它变得简单.您将需要混合SDK,但是您可以直接使用行为.这是一个博客文章显示一个示例. 这允许您在XAML中分配附加行为.许多MVVM框架都有使用此方法的实现,例如
12 2024-04-25
编程技术问答社区
如何在Windows Form中与鼠标互动
我有一个按钮字典和一个空变量按钮.当您单击字典中的一个按钮时,我们将获得应发送到空变量的值. public static Button selectedfigure=null; public Dictionary _Panels = new Dictionary(); public void Fillboard() { for (int x = 0; x
6 2024-04-25
编程技术问答社区
如何在C# WINForm数据网格视图中,当鼠标滚轮事件发生时,使滚动条注意滚动
可能的重复: c# - 我如何防止鼠标旋转我的组合? 禁用combobox vb.net中的鼠标卷轴 所有 我有一个问题,我想在制作鼠标时,要使垂直旋转式不在datagridview中滚动. 我有一些这样的代码: private void dgwFlowerPics_MouseWheel(object sender, MouseEventArgs e) { int iRowIndex = iSelectedIndex; if (e.Delta > 0) { SendKeys.Send("{UP}"); } else { SendKeys.Send("{DOWN}"); } } 但是,当我将鼠标滚动时,滚动栏仍然滚动.我如何解决? 解决方案 我认为这类似于 c#
2 2024-04-24
编程技术问答社区
等到用户点击C# WPF
我想在WPF窗口中创建一个按钮,该按钮在单击时,等待用户单击窗口并获取单击的位置.一旦获得位置,该程序将继续到下一行代码并显示点击的位置.
2 2024-04-24
编程技术问答社区
如何使SHDocVw.InternetExplorer发射被JS addEventListener捕获的事件?
以下问题: 我需要在DIV元素上模拟双击. 我需要使用/处理MS Internet Explorer11. 我无法更改目标站点的源代码. 到目前为止我的解决方案: 我使用c#和shdocvw.internetexplorer和mshtml 我可以发射"单击"事件,对,它们出现在所有处理程序中 尝试模拟双击时: " Doubleclick"事件被触发. el.addEventListener('dblclick', handler);不会触发 为了降低实际问题网站的复杂性,我也创建了模拟该问题的HTML代码: csi dbclick event handler
6 2024-04-23
编程技术问答社区
C# 循环,同时按下mousedown按钮
按下左MouseButton时,我想使用循环: private void Loop_MouseDown(object sender, MouseEventArgs e) { while (e.Button==MouseButtons.Left) { //Loop } } 我无法使用此线程的解决方案: c#c​​#当鼠标按钮按按钮下 因为我是通过RS232数据发送的,并且将计时器与其间隔无效.同样,这个主题的任何解决方案对我不起作用. 它也不能像这里一样工作: if (e.Button == MouseButtons.Left) { //loop } 此解决方案也不起作用: bool isLooping = false; //on mouse down private void myControl
0 2024-04-23
编程技术问答社区
我怎样才能从另一个应用程序的文本框中获得光标位置?(不是坐标,而是文本框内的实际索引)
如果有任何功能可以执行此操作,我需要在集中窗口中的文本框内检索Caret的索引,也许是使用UI自动化或Win32 API函数. 我强调的是,我的意思不是x,y坐标,而是文本框文本内部的Caret索引.我怎样才能做到这一点? 另请参阅 this 类似的问题. P> 解决方案 您可以为此使用UI自动化,尤其是IUIAutomationTextPattern2 interface that has a getCaretrange 方法. 这是两个示例控制台应用程序(C ++和C#代码),它们连续运行,并在鼠标下显示当前元素的角度位置: C ++版本 int main() { CoInitializeEx(NULL, COINIT_MULTITHREADED); { CComPtr automation; // make sure you use CLSID_CUIAutomation8, *n
8 2024-04-23
编程技术问答社区
C# Winforms透明控件允许点击突破
我有一个问题,有点相关: c#winforms透明控制允许clickthrough 与他相反,我想在程序上捕获鼠标事件,同时仍然保留了我程序背后的"窗口". color.Transparent不起作用,透明度密钥只是将鼠标事件传递给下面的任何事件. 使用带有透明背色的面板或与透明键等于透明的背面的面板不会产生所需的效果. 解决方案 如果您需要捕获鼠标事件,并且包括MouseClick,则只需使用透明度,但不要将其设置为0将其设置为1. 它将足够透明,可以看到,但是由于鼠标事件的前窗口将被处理. 将处理鼠标事件.
0 2024-04-23
编程技术问答社区
C# 按住鼠标事件
i有一个mousemove事件,该事件采用光标的位置并将其输出到两个标签(x和y),当我徘徊时,该值动态变化.我有一个Mousedown事件,当单击时,将相同的值输出到文本框上.如何结合Mousedown和Mousemove事件,以便当我悬停并按住鼠标按钮时,文本框值随着移动而动态变化. 解决方案 您可以在移动事件处理程序中询问鼠标按钮,即: void Form1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button == MouseButtons.Left) { String tipText = String.Format("({0}, {1})", e.X, e.Y); trackTip.Show(tipText, this, e.Location); } } 其他解决方案 跟踪鼠标向下和鼠标向上事件,以设置一个变
0 2024-04-23
编程技术问答社区
即使光标不在控制范围内也能接收到鼠标的移动
我做了类似Control的卷轴.一切都很好,但是当光标离开控制区域时,OnMouseMove不再收到. 使用标准的Windows滚动栏时,即使鼠标光标在控件的表面之外,也可以使用它. 为了避免这种情况,我唯一的想法就是从屏幕上获取光标位置,然后在屏幕上计算滚动栏位置,然后使用计时器或其他内容来更新我的Control.但这听起来很艰难和丑陋. 任何想法如何修复? 编辑:我的意思是Control不是UserControl. edit2: 它接收鼠标!我的代码有错误,我用mousemove方法打电话给Mousedown,但是在Mousedown中,我有x/y约束,如果x 解决方案 您要寻找的是mouse capture,在此处进行描述: http://msdn.microsoft.com/en-us/library/ms171545(v=vs.80).aspx 简而言之: 在您控件中的鼠标下方您"捕获"鼠标输入 那么,只要没有人捕获鼠标
2 2024-04-23
编程技术问答社区
图片框,双击和单击事件
我有一个奇怪的问题.我有一个图片框双击事件以及单击事件.问题甚至是我双击控件,单击事件会提高[如果我禁用单击事件,双击事件正在工作). 在这里讨论了这个问题,但是没有人给出正确的答案 解决方案 有一个派生的picturebox控制类 class PictureBoxCtrl:System.Windows.Forms.PictureBox { // Note that the DoubleClickTime property gets // the maximum number of milliseconds allowed between // mouse clicks for a double-click to be valid. int previousClick = SystemInformation.DoubleClickTime; public new event EventHandler DoubleClick;
0 2024-04-22
编程技术问答社区
检测鼠标的后退/前进按钮是否被按下
在getKeystate 当我收到鼠标事件时,要检测鼠标的背部还是向前按钮? MSDN的虚拟密钥代码列表似乎只定义了左,右和中间鼠标按钮. 回调方法传递给setWindowShookex: [MethodImpl(MethodImplOptions.NoInlining)] private IntPtr LowLevelMouseProc(int nCode, UIntPtr wParam, IntPtr lParam) { Debug.WriteLine(wParam.ToUInt32()); Debug.WriteLine("MK_XBUTTON1: " + (wParam.ToUInt32() & 0x20)); Debug.WriteLine("MK_XBUTTON2: " + (wParam.ToUInt32() & 0x40)); } 按下背部或向前时输出以下内容: 523 MK_XBUTTON1: 0 MK_XBUTTON2:
6 2024-04-22
编程技术问答社区