2

MS Windows Calculator のコピーを作成しようとしています - ちょうど私がやっているコースで得た知識を行使するためです -Backspaceキーを書くのに問題がありますが、削除する方法がわかりませんTxtResult.Text(テキスト ボックス)の最後の文字。それで、誰かがそれを行う方法を教えてもらえますか?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ZigndSuperCalc
{
    public partial class FrmZigndSC : Form
    {
        Int64 aux, result;
        Int16 cont = 0;
        bool sucess;
        public FrmZigndSC()
        {
            InitializeComponent();
        }

        private void BtnSoma_Click(object sender, EventArgs e)
        {
            sucess = Int64.TryParse(TxtInput.Text, out aux);
            result += aux;
            TxtInput.Text = Convert.ToString(result);
            TxtInput.Focus();
        }

        private void BtnCE_Click(object sender, EventArgs e)
        {
            TxtInput.Text = "0";
        }

        private void BtnC_Click(object sender, EventArgs e)
        {
            result = 0;
            TxtInput.Text = "0";
        }

        private void BtnBackspace_Click(object sender, EventArgs e)
        {
            // write here a method to delete the last character from 
        }
    }
}
4

8 に答える 8

13

を模倣している場合calc.exe、正確には次のようになります。

string s = TxtResult.Text;

if (s.Length > 1) {
    s = s.Substring(0, s.Length - 1);
} else {
    s = "0";
}

TxtResult.Text = s;

編集: 要求に応じて、ここで使用しているメソッドは文字列の一部を抽出し、テキスト ボックスのプロパティにSubstring割り当てます。Text参照: http://msdn.microsoft.com/en-us/library/aka44szs.aspx

于 2012-09-13T00:47:08.913 に答える
4

試す

TxtResult.Text = TxtResult.Text.Substring(0, TxtResult.Text.Length - 1);`
于 2012-09-13T00:43:10.483 に答える
3
if (textBox1.TextLength > 0) 
{ 
    textBox1.Text = textBox1.Text.Substring(0, (textBox1.TextLength - 1)); 
} 
else 
{ 
    MessageBox.Show("No Number.");
}
于 2013-07-28T19:48:49.390 に答える
2

I use this method:

private void button_Click(object sender, EventArgs e)
{
    if (textbox.Text.Length > 0)
    {
        textbox.Text = textbox.Text.Remove(textbox.Text.Length - 1);
    }
}
于 2016-12-13T18:18:19.860 に答える