我正在学习C#,所以我正在做一些练习来习惯C#语法并学习更好。我决定让计算器看起来像普通的Windows计算器一样。
我只创建了一个按钮“1”和一个文本框。
当我按下它时,我想让这个按钮在文本框中写1,并使一个int变量等于教科书中的数字,以便稍后进行计算。所以我不能改变“int a”的值或改变文本框中的文本,它总是显示01,因为a总是等于0。 如何制作程序,既显示正确的数字又正确更改值? 例如,当我按两次按钮并将“int a”的值更改为11时,如何让程序在文本框中显示11个?
public partial class Form1 : Form
{
int a;
string Sa;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Sa = a.ToString() + "1";
textBox1.Text = Sa;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
}
答案 0 :(得分:3)
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text += "1";
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
a = Int32.Parse(textBox1.Text);
}
只是它..每次按钮点击都会更改textBox上的文本,并更改每个textBox更改后的变量。
答案 1 :(得分:2)
然后可以使用
设置该值a = int.Parse(Sa);
textBox1.Text = Sa.TrimStart('0');
虽然如果你想提高效率,
a = a * 10 + 1;
根本没有Sa
,
textBox1.Text = a.ToString();
如果遇到整数溢出,则应使用BigInteger。
答案 2 :(得分:0)
您有几种选择:
使int成为可以为空的int。这样你就可以检查int是否已经设置
int? a;
if ( a.HasValue )
{
}
else
{
}
检查textBox1的Text属性是否为空(这意味着您不必附加到它)
if ( textBox1.Text == string.Empty)
{
}
else
{
}
答案 3 :(得分:0)
public void btnOne_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnOne.Text;
}
private void btnTwo_Click(object sender, EventArgs e)
{
txtDisplay.Text = txtDisplay.Text + btnTwo.Text;
}
// etc
答案 4 :(得分:0)
对于要在文本框中附加文本的任何按钮,将click属性设置为btn_Click
,然后在方法中输入此代码
private void btn_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
// This will assign btn with the properties of the button clicked
txt_display.Text = txt_display.Text + btn.Text;
// this will append to the textbox with whatever text value the button holds
}