• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:電卓のディスプレイ部分に適したコントロールについて)

電卓のディスプレイ部分に適したコントロールについて

このQ&Aのポイント
  • フォームアプリケーションで簡易電卓を作っています。電卓のディスプレイ部分に上手く表示させる方法を教えてください。
  • ディスプレイ部分をlabel、textBox、richtextBox、listBoxにしてみましたが、どれもうまく表示されません。プロパティでの設定では不可能で、コードの記述が必要なのでしょうか?
  • 上書きや改行されないようなディスプレイ部分のコントロールはありますか?知っている方はアドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#137556
noname#137556
回答No.1

それは多分,値の設定の仕方が間違っています。 private void button1_Click(object sender, EventArgs e) // (1) ボタンが押されたら {   textBox1.Text += 1; // 後ろに 1 を連結 } 右詰は,TextAlign プロパティで。

noname#153037
質問者

お礼

回答ありがとうございました! 解決しました。 ずっと textBox1.Text = 1; でチャレンジしていたのですが、 textBox1.Text += 1; // ← このようなコードはとても私には思いつかないものでした。 ありがとうございました!!

その他の回答 (1)

回答No.2

 こんばんは。  テキストを追記すれば良いので、ラベルでもテキストボックスでも構いません。  色々とアラもありますが、以下参考程度に。 private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { //数値が無ければ0で固定 this->textBox1->Text = "0"; } //バックボタン private: System::Void buttonBack_Click(System::Object^ sender, System::EventArgs^ e) { if(this->textBox1->Text == "0") return; //ラスト1文字 if(this->textBox1->Text->Length == 1) { //数値が無ければ0で固定 this->textBox1->Text = "0"; return; } //1文字削除 this->textBox1->Text = this->textBox1->Text->Remove(this->textBox1->Text->Length - 1, 1); } //0ボタン private: System::Void button0_Click(System::Object^ sender, System::EventArgs^ e) { this->Append(0); } //1ボタン private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { this->Append(1); } //2ボタン private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { this->Append(2); } //追記 private: System::Void Append(System::Int32 iVal) { if(this->textBox1->Text == "0") this->textBox1->Text = iVal.ToString(); else this->textBox1->Text = this->textBox1->Text + iVal.ToString(); }

noname#153037
質問者

お礼

回答ありがとうございました! 皆さんのおかげで解決することが出来ました。 素人の私にとって、machongolaさんのコードはとても難解ですが、 これからの勉強にとても役に立ってくれるものだと思います! 本当にありがとうございました!!

関連するQ&A