如何使按钮输入特定的值

本文关键字:输入 何使 按钮 | 更新日期: 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;