如何使按钮输入特定的值
本文关键字:输入 何使 按钮 | 更新日期: 2023-09-27 17:54:06
public partial class Form1 : Form
{
public static string a = "a"; public static string b = "b"; public static string c = "c";
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = a;
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = b;
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text = c;
}
private void button4_Click(object sender, EventArgs e)
{
a = null;
b = null;
c = null;
}
}
我想做一个简单的聊天键盘。
我从一个只有3个按钮的小程序开始;按钮a,按钮b,按钮c分别对应于a,b,c。
当我运行程序时,我按下按钮a以获得&然后Button b for b(现在我想要的输出形式是ab)但它首先显示a,然后按下Button b,它删除a,显示b。
我想做更多这样的按钮来做键盘。基本上,我想按顺序打印存储在按钮中的字母,但它会擦除第一个字母,然后打印下一个。
创建屏幕键盘最简单的方法是使用按钮文本,除了退格键、回车键、清除键等特殊键。这样,所有的文本按钮点击事件都可以用一个方法来处理:
private void KeyButton_Click(object sender, EventArgs e)
{
textBox1.Text += ((Button)sender).Text;
}
private void ClearButton_Click(object sender, EventArgs e)
{
textBox1.Text = string.Empty;
}
private void BackspaceButton_Click(object sender, EventArgs e)
{
textBox1.Text = textBox1.Text.SubString(0, textBox1.Text.Length-1);
}
它擦除值,因为您正在使用=
操作符。尝试使用+=
textBox1.Text += c;
textBox1.Text = textBox1.Text + c;
也可以从按钮的Text
属性中获得文本值。并且对于每个按钮只有一个Button.Click
事件处理程序。
private void button_Click(object sender, EventArgs e)
{
var button = sender as Button;
textBox1.Text = textBox1 + button.Text;
}
正如我在您发布代码之前的评论中告诉您的那样,您需要将字符连接(也称为追加)到文本框中。
如果你有一个名为textBox1
的文本框这样做:
textBox1.Text = 'a'
将用字符'a'替换文本框中已写入的任何文本。
你需要做的是使用+=
操作符:
textBox1.Text += a;
textBox1.Text = b;
textBox1.Text = c;