Tag: 单击

动态用户控制点击事件

用户控件: private string lastName; public string LastName { get { return lastName; } set { lastName = value; lastNameTextBox.Text = value; } } 形成: using (SqlConnection myDatabaseConnection = new SqlConnection(myConnectionString.ConnectionString)) { myDatabaseConnection.Open(); using (SqlCommand SqlCommand = new SqlCommand(“Select LasatName from Employee”, myDatabaseConnection)) { int i = 0; SqlDataReader DR1 = SqlCommand.ExecuteReader(); while (DR1.Read()) { i++; […]

如何为许多标签编写常见的ClickEvent?

我在面板上有10个标签 – 和10个相同的ClickEvents(更改BackColor)。 我怎么能减少代码,即编写一个通用的程序? 就像是: foreach (Control c in panelA.Controls) if (c.Tag == “abc” && c.is clicked) c.BackColor = Color.Crimson;

如果不是双击,如何处理WinForms控件单击事件

我需要区分单击和双击,但我需要在点击事件期间执行此操作。 我需要这个,因为如果只有一次单击我想调用函数A,如果有双击我想调用函数B.但是只有单击才能调用函数A. 如何使用C#(或VB)中的标准Winforms实现此目的?

跟踪按钮点击次数

我们假设我有一个带有CAPTCHA图像的页面。 我想让用户尝试输入代码三次,否则他不再允许这样做。 如何跟踪单击“确认”按钮的次数。 每次单击时,“确认”按钮都必须对服务器执行回发。 使用JavaScript并不好,因为如果用户重新加载页面,计数器将设置为零。 怎么能这样呢?

在c#asp.net中动态分配按钮事件

你能告诉我以下代码有什么问题吗? Panel div = new Panel(); Button btn1 = new Button { Text = “Delete”, CommandArgument = “argument”, ID = “remove” }; Button btn2 = new Button { Text = “Insert”, CommandArgument = “argument2”, ID = “insert” }; btn1.Click += new EventHandler(btn_click); btn2.Click += new EventHandler(btn_click); div.Controls.Add(btn1); div.Controls.Add(btn2); ph_plan.Controls.Add(div); // where ph_plan is a placeholder […]

程序化按钮单击会抛出’System.StackOverflowException’exception

我在C#.Net中编写了一个WinForms程序,在密码表单中以编程方式单击按钮。 Form1加载并将Form2显示为对话框。 如果DialogResult是DialogResult.OK的其他任何东西,应用程序将关闭。 到目前为止,我有一个按钮单击事件,编码如下: if (txtpass.Text == “”) { MessageBox.Show(“You need to enter a password”, “Password”, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); txtpass.Focus(); } else { if (txtpass.Text == “1234”) { radButton1.DialogResult = DialogResult.OK; radButton1.PerformClick(); } else { MessageBox.Show(“Password Incorrect”, “Password”, MessageBoxButtons.OK, MessageBoxIcon.Error); txtpass.Text = “”; txtpass.Focus(); } } 我用radButton1.PerformClick(); ,但运行该程序给我以下消息: An unhandled exception of type ‘System.StackOverflowException’ occurred in […]

检查RoutedEvent是否有任何处理程序

我有一个自定义Button类,它在点击时总是执行相同的操作(打开一个特定的窗口)。 我正在添加一个可以在按钮的XAML中分配的Click事件,就像常规按钮一样。 单击它时,我想执行Click事件处理程序(如果已分配),否则我想执行默认操作。 问题是,显然没有办法检查是否有任何处理程序添加到事件中。 我认为对事件的空检查会这样做: if (Click == null) { DefaultClickAction(); } else { RaiseEvent(new RoutedEventArgs(ClickEvent, this));; } ……但那不会编译。 编译器告诉我除了+ =或 – =之外我不能对定义类之外的事件执行任何操作,尽管我正在尝试执行此操作检查INSIDE定义类。 我自己实现了正确的行为,但是它很丑陋且冗长,我无法相信没有内置的方法来做到这一点。 我肯定错过了什么。 这是相关的代码: public class MyButtonClass : Control { //… public static readonly RoutedEvent ClickEvent = EventManager.RegisterRoutedEvent(“Click”, RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MyButtonClass)); public event RoutedEventHandler Click { add { ClickHandlerCount++; AddHandler(ClickEvent, value); } remove […]

在MSPaint中模拟鼠标单击

我有一个控制台应用程序应该在MSPaint中绘制一个随机图片(鼠标按下 – >让光标随机绘制一些东西 – >鼠标向上。这是我到目前为止(我在Main方法中添加了注释,以便更好地理解我想要的内容)实现): [DllImport(“user32.dll”, CallingConvention = CallingConvention.StdCall)] public static extern void mouse_event(long dwFlags, uint dx, uint dy, long cButtons, long dwExtraInfo); private const int MOUSEEVENTF_LEFTDOWN = 0x201; private const int MOUSEEVENTF_LEFTUP = 0x202; private const uint MK_LBUTTON = 0x0001; public delegate bool EnumWindowsProc(IntPtr hWnd, IntPtr parameter); [DllImport(“user32.dll”, SetLastError = true)] static extern IntPtr […]

将鼠标单击发送到另一个应用程序的XY坐标

我正在尝试将模拟鼠标单击发送到另一个应用程序。 我理解如何实际发送关键点击,这不是问题。 我需要将鼠标单击发送到另一个应用程序的正中心。 我可以简单地测试一次并找出坐标并将点击发送到该XY位置,但是有一个问题……当我移动窗口或调整此窗口大小时,XY坐标显然不会相同。 所以我需要找出如何获得窗口的大小及其位置,然后从中找到中心点。 有人知道怎么做吗? 非常感谢您的回复! 这是我发送鼠标点击的代码 public void SendLeftClick(int x, int y) { int old_x, old_y; old_x = Cursor.Position.X; old_y = Cursor.Position.Y; SetCursorPos(x, y); mouse_event(MouseEventFlag.LeftDown, x, y, 0, UIntPtr.Zero); mouse_event(MouseEventFlag.LeftUp, x, y, 0, UIntPtr.Zero); SetCursorPos(old_x, old_y); }

Visual C#表单右键单击按钮

我正在尝试在visual c#中制作一个扫雷型游戏,当我右键单击并左键单击按钮时,我想要发生不同的事情,我该怎么做? 我试过这个代码,但它只记录左键点击: private void button1_MouseClick(object sender, MouseEventArgs e) { if (e.Button == System.Windows.Forms.MouseButtons.Left) { MessageBox.Show(“Left”); } if (e.Button == System.Windows.Forms.MouseButtons.Right) { MessageBox.Show(“Right”); } }