【发布时间】:2020-12-20 11:03:53
【问题描述】:
我正在尝试为我正在从事的一个社会项目编写一个计数器。我正在使用 Windows 窗体。我使用了一个文本框来获取我的起始数字和一个开始和停止按钮。
代码方面,我设法让它发送消息和所有内容,但我在计数部分遇到了问题。我得到 cant convert int into a string 的错误,否则它会将一个数字添加到它发送的现有数字示例中:1、11、111、1111。而不是 1、2、3 , 4, 以此类推
这是我搞砸的部分
textBox1.Text = textBox1.Text + 1;
SendKeys.Send("{Enter}");
Thread.Sleep(1000);
这是完整的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
namespace Counting_Bot
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void timer1_Tick(object sender, EventArgs e)
{
SendKeys.Send(textBox1.Text);
textBox1.Text = textBox1.Text + 1;
SendKeys.Send("{Enter}");
Thread.Sleep(1000);
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Stop();
}
public void textBox1_TextChanged(object sender, EventArgs e)
{
if (System.Text.RegularExpressions.Regex.IsMatch(textBox1.Text, "[^0-9]"))
{
MessageBox.Show("Please enter only numbers.");
textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length - 1);
}
}
}
}
我很抱歉措辞和格式不好,但我是新来的 ¬.¬
【问题讨论】:
-
如果您确定输入将是一个数字,那么 ( textBox1.Text = (Convert.ToInt32(textBox1.Text) + 1).ToString(); )
-
您可以使用
NumericUpDown只允许输入数字。 -
@Sinatr 不会神奇地将文本转换为
int。 -
@HimBromBeere,它有
decimalValue 属性。
标签: c# winforms integer counter