C#按按钮输入计算器
我现在正在学习C#,所以我做了一些练习来适应C#语法并更好地学习。我决定做一个看起来像普通windows计算器的计算器 我只创建了一个按钮“1”和一个文本框 当我按下这个按钮时,我想让它在文本框中写上1,并且让一个int变量等于教科书中的数字,以便以后进行计算。所以我既不能更改“int a”的值,也不能更改文本框中的文本,它总是显示01,因为a总是等于0。 如何制作程序,既能显示正确的数字,又能正确更改a的值? 例如,当我按下两次按钮并将“int a”的值更改为11时,如何使程序在文本框中显示11C#按按钮输入计算器,c#,calculator,C#,Calculator,我现在正在学习C#,所以我做了一些练习来适应C#语法并更好地学习。我决定做一个看起来像普通windows计算器的计算器 我只创建了一个按钮“1”和一个文本框 当我按下这个按钮时,我想让它在文本框中写上1,并且让一个int变量等于教科书中的数字,以便以后进行计算。所以我既不能更改“int a”的值,也不能更改文本框中的文本,它总是显示01,因为a总是等于0。 如何制作程序,既能显示正确的数字,又能正确更改a的值? 例如,当我按下两次按钮并将“int a”的值更改为11时,如何使程序在文本框中显示1
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)
{
}
}
然后可以使用
a = int.Parse(Sa);
textBox1.Text = Sa.TrimStart('0');
虽然如果你想更有效地处理这件事
a = a * 10 + 1;
根本没有Sa
textBox1.Text = a.ToString();
如果遇到整数溢出,则应使用。然后可以使用
a = int.Parse(Sa);
textBox1.Text = Sa.TrimStart('0');
虽然如果你想更有效地处理这件事
a = a * 10 + 1;
根本没有Sa
textBox1.Text = a.ToString();
如果遇到整数溢出,应使用。您有几个选项: 将int设置为可为空的int。这样可以检查int是否已设置
int? a;
if ( a.HasValue )
{
}
else
{
}
检查textBox1的Text属性是否为空(这意味着您不必向其追加文本)
您有几个选择: 将int设置为可为空的int。这样可以检查int是否已设置
int? a;
if ( a.HasValue )
{
}
else
{
}
检查textBox1的Text属性是否为空(这意味着您不必向其追加文本)
就这样。。每次单击按钮时更改文本框上的文本,每次更改文本框时更改变量a
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
就这样。。每次单击按钮时更改文本框上的文本,每次更改文本框时更改变量a。对于要将文本附加到文本框中的任何按钮,请将click属性设置为
btn\u单击
,然后将此代码放入方法中
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
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
}
对于要将文本附加到文本框的任何按钮,请将click属性设置为
btn\u 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
}
你的问题不清楚。你知道字符串和整数的区别吗?您知道a.ToString()+“1”是一个字符串而不是整数。因此,它只需在字符串中加一个1。在前面的文本之前追加文本:textBox1.text=“1”+textBox1.text;你的问题不清楚。你知道字符串和整数的区别吗?您知道a.ToString()+“1”是一个字符串而不是整数。因此,它只需在字符串中加一个1。在前面的文本之前追加文本:textBox1.text=“1”+textBox1.text;