Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带多行文本框的自动打字机_C# - Fatal编程技术网

C# 带多行文本框的自动打字机

C# 带多行文本框的自动打字机,c#,C#,我正在尝试创建一个自动打字机,每10秒键入一条消息。 它应该总共发送28条消息。每条消息都位于多行文本框中的不同行上 其布局如下: 多行文本框=文本框 开始按钮=开始按钮 停止按钮=停止按钮 间隔为10.5秒的10500计时器=TimerAuth 我合并了一些我在网上找到的代码。 这可能看起来很愚蠢。但我还是个初学者: using System; using System.Collections.Generic; using System.ComponentModel; using System

我正在尝试创建一个自动打字机,每10秒键入一条消息。 它应该总共发送28条消息。每条消息都位于多行文本框中的不同行上

其布局如下:

多行文本框=文本框 开始按钮=开始按钮 停止按钮=停止按钮 间隔为10.5秒的10500计时器=TimerAuth 我合并了一些我在网上找到的代码。 这可能看起来很愚蠢。但我还是个初学者:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace AuthKeyTyper
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }

    private void label2_Click(object sender, EventArgs e)
    {

    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void StartBtn_Click(object sender, EventArgs e)
    {
        TimerAuth.Enabled = true;
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }

    private void StopBtn_Click(object sender, EventArgs e)
    {
        TimerAuth.Enabled = false;
    }

    private void TimerAuth_Tick(object sender, EventArgs e)
    {
        TextReader read = new System.IO.StringReader(TextBox.Text);
        int rows = 27;
        string[] text1 = new string[rows];
        for (int r = 0; r < rows; r++)
        {

            text1[r] = read.ReadLine();
        }

        SendKeys.Send("::auth " + text1[0] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[1] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[2] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[3] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[4] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[5] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[6] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[7] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[8] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[9] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[10] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[11] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[12] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[13] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[14] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[15] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[16] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[17] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[18] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[19] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[20] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[21] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[22] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[23] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[24] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[25] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[26] + "{enter}");
        TimerAuth.Enabled = false;
        TimerAuth.Enabled = true;
        SendKeys.Send("::auth " + text1[27] + "{enter}");
        TimerAuth.Enabled = false;
        MessageBox.Show("Done");

    }
}

}

所以首先。谢谢所有的反对票。。。我说我是一名初级成员,我对学习C很感兴趣。经过一些挖掘和阅读,我发现函数等待

因此,我去掉了计时器,将整个函数放入start button\u click事件中,并使用async

因此,这成为sendkey事件的形式:

SendKeys.Send(...)
await Task.Delay(10000)
SendKeys.Send(...)
await Task.Delay(10000)

享受吧

您遇到的具体问题是什么?请展示您自己在解决问题方面所做的尝试。因此,我不会为您编写解决方案。因此,我首先尝试不使用TimerAuth.Enabled=false;TimerAuth.Enabled=true;但是这个程序崩溃了。它根本不起作用。我不要求解决办法。我只想知道我做错了什么。你因为连一个问题都没问就被否决了。我们希望这里有高质量的问题,所以下次你需要更加努力。