如何使按钮输入特定值?

时间:2016-07-03 09:39:45

标签: c#

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以获取& b按钮b(现在我想要输出格式为ab),但它首先显示a然后按下按钮b它会删除a并显示b。
我想制作更多这样的按钮来制作键盘。 基本上,我想按顺序打印存储在按钮中的字母,但它会删除第一个字母,然后打印下一个字母..

3 个答案:

答案 0 :(得分:2)

创建屏幕键盘的最简单方法是使用按钮文本,但退格,输入,清除等特殊键除外。 这样,您可以使用一种方法处理所有文本按钮单击事件:

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);
}

答案 1 :(得分:1)

它会删除该值,因为您使用的是=运算符。尝试使用+=

textBox1.Text += c;
textBox1.Text = textBox1.Text  + c;

您还可以从Button的Text属性中获取文本值。 并且每个按钮只有一个Button.Click事件处理程序。

private void button_Click(object sender, EventArgs e)
{
    var button = sender as Button;
    textBox1.Text = textBox1 + button.Text;
}

答案 2 :(得分:0)

正如我在你发布代码之前在评论中告诉你的那样,你需要将字符连接(a.k.a 追加)到文本框。

如果您有一个名为textBox1的文本框,请执行以下操作:

textBox1.Text = 'a'

替换已在文本框中写入的文字“a”

您需要做的是使用+=运算符:

textBox1.Text += a;
textBox1.Text = b;
textBox1.Text = c;