发送键与 Windows 窗体应用程序按钮冲突

本文关键字:应用程序 按钮 冲突 窗体 Windows | 更新日期: 2023-09-27 18:36:11

我最近做了这个小的Windows窗体应用程序:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Spammer
{
    public partial class Form1 : Form
    {
        Thread t1;
        int delay, y = 1;
        public Form1()
        {
            t1 = new Thread(send);
            InitializeComponent();
        }
        private void button1_Click(object sender, EventArgs e)
        {
            delay = int.Parse(textBox2.Text);
            t1.Start();
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
        }
        private void button2_Click(object sender, EventArgs e)
        {
            y = 0;
        }
        private void send()
        {
            while (y == 1)
            {
                String textt = textBox1.Text;
                Thread.Sleep(delay);
                SendKeys.SendWait(textt);
            }
        }
        private void label1_Click(object sender, EventArgs e)
        {
        }
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
        }
    }
}

现在,它看起来像这样:

它有一个延迟文本框、一个要发送的文本文本框和 2 个按钮:"开始"和"停止"。

现在,我尝试运行它并将延迟设置为 1000 毫秒。

当我按下"停止"按钮时,它完美地停止并且不再发送消息。

但是,例如,

当我输入延迟非常小的延迟(例如 100 毫秒)时,按"停止"不会执行任何操作。甚至很难点击它,即使我点击它也不会停止发送消息。

这是为什么呢?我可以以某种方式解决它吗?

发送键与 Windows 窗体应用程序按钮冲突

好的,谢谢大家的帮助!

我现在正在使用 GUI 计时器,它完美运行。