- ベストアンサー
電卓のディスプレイ部分に適したコントロールについて
- フォームアプリケーションで簡易電卓を作っています。電卓のディスプレイ部分に上手く表示させる方法を教えてください。
- ディスプレイ部分をlabel、textBox、richtextBox、listBoxにしてみましたが、どれもうまく表示されません。プロパティでの設定では不可能で、コードの記述が必要なのでしょうか?
- 上書きや改行されないようなディスプレイ部分のコントロールはありますか?知っている方はアドバイスをお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
それは多分,値の設定の仕方が間違っています。 private void button1_Click(object sender, EventArgs e) // (1) ボタンが押されたら { textBox1.Text += 1; // 後ろに 1 を連結 } 右詰は,TextAlign プロパティで。
その他の回答 (1)
- machongola
- ベストアンサー率60% (434/720)
こんばんは。 テキストを追記すれば良いので、ラベルでもテキストボックスでも構いません。 色々とアラもありますが、以下参考程度に。 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(); }
お礼
回答ありがとうございました! 皆さんのおかげで解決することが出来ました。 素人の私にとって、machongolaさんのコードはとても難解ですが、 これからの勉強にとても役に立ってくれるものだと思います! 本当にありがとうございました!!
お礼
回答ありがとうございました! 解決しました。 ずっと textBox1.Text = 1; でチャレンジしていたのですが、 textBox1.Text += 1; // ← このようなコードはとても私には思いつかないものでした。 ありがとうございました!!