如何解决如何将数字添加到int thats中而不将其放置在它旁边
我正在尝试为正在进行的社交项目编写计数器。我正在使用Windows窗体。我使用了一个文本框来获取我的起始数字以及一个开始和停止按钮。
我明智地尝试使它发送消息和所有消息,但我在计数部分遇到了问题。我收到 cant将int转换为字符串的错误消息,否则它将在发送的现有数字示例中添加一个数字: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);
}
}
}
}
对不好的措辞和格式表示抱歉,但我在这里是新的。
解决方法
文本框中的内容是Private Sub Button1_Click(sender As Object,e As EventArgs) Handles Button1.Click
ProgressBar.Visible = True
For i As Integer = 0 To 10
Dim percent As Integer = i * 10
ProgressBar.Value = percent
Label1.Text = percent & "%"
Label1.Refresh() '<--This updated the Label
Thread.Sleep(100)
Next
ProgressBar.Visible = False
End Sub
,而不是string
。字符串的int
运算符的实现方式是将字符串连接到第一个字符串的末尾。因此,+
返回"1" + "1"
,而"11"
返回"Hello " + "World"
。
您必须先将文本转换为数字:
"Hello World"
,
Python38-32
的类型为textBox1.Text
,因此string
串联了+
和textBox1.Text
(已隐式转换为1
)。
您需要将string
解析为整数:
textBox1.Text
现在textBox1.Text = (int.Parse(textBox1.Text) + 1).ToString();
执行一次数学加法。
您可能还想验证输入,以确保输入了有效的整数:
+
,
在操作员编辑文本框时,只要您确定操作员输入完数字并按下按钮以进行通知,他就应该能够犯下诸如输入字母甚至删除所有内容之类的错误。你他已经完蛋了。
通常,您可以通过禁用此按钮来让操作员知道输入不正确。如果启用了按钮,那么您在单击按钮的事件处理程序中就会知道按钮中的“文本”是数字的文本表示形式。
- 订阅事件TextBox.TextChanged以启用和禁用按钮
- 订阅事件按钮。单击以处理键入的文本
以下通常是使用Visual Studio设计器完成的:
int parsedInput = 0;
private void OnTextBoxChanged(object sender,...)
{
// get the input text
string input = textBox1.Text;
// try to parse the input text. If this can be done,remember the parsedInput
// enable the button if the input is parsed correctly
button1.Enabled = (Int32.TryParse(input,out parsedInput);
}
private void OnButtonClicked(object sender,...)
{
// Because the button is enabled,you know that parsedInput contains the parsed text
this.ProcessInput(this.parsedInput);
}
private int GetInput()
{
Int32.TryParse(input,out int i);
以您的形式:
{{1}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。