bate's blog

調べたこと実装したことなどを取りとめもなく書きます。

重いけど我慢

前作った行列のアプリをC++/CLIのWindowsFormアプリで作り直している。
LabelやTextBoxをリストに入れることを覚えた。
Form1.hより

// Form1.hの一部
#pragma endregion
	private:
        // コレクション
		System::Collections::Generic::List<System::Windows::Forms::TextBox^>^ _TextBoxCollections;
		System::Collections::Generic::List<System::Windows::Forms::Label^>^ _LabelCollections;

        // ボタン1を押した時
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 // TextBoxの内容を対応するLabelに入れる
				 for( int i = 0; i < _TextBoxCollections->Count; ++i ) {
					 _LabelCollections[i]->Text = _TextBoxCollections[i]->Text;
				 }
			 }

    // フォームがロードされた時
	private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
				 _TextBoxCollections = gcnew System::Collections::Generic::List<System::Windows::Forms::TextBox^>;
				 _TextBoxCollections->Add(this->textBox1);
				 _TextBoxCollections->Add(this->textBox2);
				 _TextBoxCollections->Add(this->textBox3);
				 _TextBoxCollections->Add(this->textBox4);
				 _TextBoxCollections->Add(this->textBox5);
				 _TextBoxCollections->Add(this->textBox6);
				 _TextBoxCollections->Add(this->textBox7);
				 _TextBoxCollections->Add(this->textBox8);
				 _TextBoxCollections->Add(this->textBox9);
				 _TextBoxCollections->Add(this->textBox10);
				 _TextBoxCollections->Add(this->textBox11);
				 _TextBoxCollections->Add(this->textBox12);
				 _TextBoxCollections->Add(this->textBox13);
				 _TextBoxCollections->Add(this->textBox14);
				 _TextBoxCollections->Add(this->textBox15);
				 _TextBoxCollections->Add(this->textBox16);

				 _LabelCollections = gcnew System::Collections::Generic::List<System::Windows::Forms::Label^>;
				 _LabelCollections->Add(this->label1);
				 _LabelCollections->Add(this->label2);
				 _LabelCollections->Add(this->label3);
				 _LabelCollections->Add(this->label4);
				 _LabelCollections->Add(this->label5);
				 _LabelCollections->Add(this->label6);
				 _LabelCollections->Add(this->label7);
				 _LabelCollections->Add(this->label8);
				 _LabelCollections->Add(this->label9);
				 _LabelCollections->Add(this->label10);
				 _LabelCollections->Add(this->label11);
				 _LabelCollections->Add(this->label12);
				 _LabelCollections->Add(this->label13);
				 _LabelCollections->Add(this->label14);
				 _LabelCollections->Add(this->label15);
				 _LabelCollections->Add(this->label16);
			 }

// ボタン2が押された時
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e) {
			 // TextBoxのTextを消す
			 for each( TextBox^ tb in _TextBoxCollections ) {
				 tb->Text = "";
			 }
		 }