0

C#を使ってプログラムを作ったのですが、新しいフォーム(Microsoft WordやExcelなど)を作りたかったのですが、すでにできているのですが、新しいフォームを作成するコマンドを実行するまでにテキストがすべて表示されません。 .

新しいフォームが作成される前の画像は次のとおりです。 ここに画像の説明を入力

そして、新しいフォームが作成された後の画像は次のとおりです。 ここに画像の説明を入力

新しいフォームを作成した後、テキストとメニュー「ファイル」が表示されないのはなぜですか? 私はすでにすべてのテキストとテキストボックスを含むこの関数を呼び出しましたが、出てくるテキストボックスだけです:

private void AddObjects(object sender, EventArgs e, Form theForm)
{
  textBoxQuantityContainer = new List<NumericUpDown>();
  textBoxCodeContainer = new List<TextBox>();
  textBoxDescContainer = new List<TextBox>();
  textBoxSubTotalContainer = new List<TextBox>();
  textBoxTotalContainer = new List<TextBox>();
  textBoxAllTotalContainer = new TextBox();

  OleDbDataReader dReader;
  OleDbConnection conn = new OleDbConnection(connectionString);
  conn.Open();
  OleDbCommand cmd = new OleDbCommand("SELECT [Code] FROM [Data]", conn);

  dReader = cmd.ExecuteReader();

  AutoCompleteStringCollection codesCollection = new AutoCompleteStringCollection();

  while (dReader.Read())
  {
    string numString = dReader[0].ToString().PadLeft(4, '0');
    codesCollection.Add(numString);
  }

  dReader.Close();
  conn.Close();

  if (firstForm.comboBox1.SelectedIndex == 0)
  {
    label1.Text = "Code:";
    label1.Location = new Point(60, 125);
    label2.Text = "Welcome to the Selling System.";
    label2.Location = new Point(600, 30);
    label3.Text = "Quantity:";
    label3.Location = new Point(155, 125);
    label4.Text = "Description:";
    label4.Location = new Point(580, 125);
    label5.Text = "Sub Total on Rp:";
    label5.Location = new Point(1020, 125);
    label6.Text = "Total on Rp:";
    label6.Location = new Point(1210, 125);
    label7.Text = "Total on Rp:";
    label7.Location = new Point(1080, 580);
  }

  else if (firstForm.comboBox1.SelectedIndex == 1)
  {
    label1.Text = "Kode:";
    label1.Location = new Point(60, 125);
    label2.Text = "Selamat datang di Selling System.";
    label2.Location = new Point(600, 30);
    label3.Text = "Banyaknya:";
    label3.Location = new Point(145, 125);
    label4.Text = "Keterangan:";
    label4.Location = new Point(580, 125);
    label5.Text = "Sub Total di Rp:";
    label5.Location = new Point(1020, 125);
    label6.Text = "Total di Rp:";
    label6.Location = new Point(1210, 125);
    label7.Text = "Total di Rp:";
    label7.Location = new Point(1080, 580);
  }

  //****TextBox for Code****
  for (int y = 0; y <= 16; y++)
  {
    textBoxCodeContainer.Add(new TextBox());
    textBoxCodeContainer[y].Size = new Size(100, 50);
    textBoxCodeContainer[y].Location = new Point(25, 150 + (y * 25));
    textBoxCodeContainer[y].TextChanged += new System.EventHandler(this.textBox_TextChanged);

    textBoxCodeContainer[y].AutoCompleteMode = AutoCompleteMode.Suggest;
    textBoxCodeContainer[y].AutoCompleteSource = AutoCompleteSource.CustomSource;
    textBoxCodeContainer[y].AutoCompleteCustomSource = codesCollection;

    theForm.Controls.Add(textBoxCodeContainer[y]);
  }

  //****TextBox for Quantity****
  for (int y = 0; y <= 16; y++)
  {
    textBoxQuantityContainer.Add(new NumericUpDown());
    textBoxQuantityContainer[y].Size = new Size(100, 50);
    textBoxQuantityContainer[y].Location = new Point(125, 150 + (y * 25));
    textBoxQuantityContainer[y].TextChanged += new System.EventHandler(this.textBox_TextChanged);
    textBoxQuantityContainer[y].Maximum = 1000;

    theForm.Controls.Add(textBoxQuantityContainer[y]);
  }

  //****TextBox for Description****
  for (int y = 0; y <= 16; y++)
  {
    textBoxDescContainer.Add(new TextBox());
    textBoxDescContainer[y].Size = new Size(750, 50);
    textBoxDescContainer[y].Location = new Point(225, 150 + (y * 25));

    theForm.Controls.Add(textBoxDescContainer[y]);
  }

  //****TextBox for Sub Total****
  for (int y = 0; y <= 16; y++)
  {
    textBoxSubTotalContainer.Add(new TextBox());
    textBoxSubTotalContainer[y].Size = new Size(175, 50);
    textBoxSubTotalContainer[y].Location = new Point(975, 150 + (y * 25));

    theForm.Controls.Add(textBoxSubTotalContainer[y]);
  }

  //****TextBox for Total****
  for (int y = 0; y <= 16; y++)
  {
    textBoxTotalContainer.Add(new TextBox());
    textBoxTotalContainer[y].Size = new Size(175, 50);
    textBoxTotalContainer[y].Location = new Point(1150, 150 + (y * 25));
    textBoxTotalContainer[y].TextChanged += new System.EventHandler(this.textBox_TextChanged);

    theForm.Controls.Add(textBoxTotalContainer[y]);
  }

  //****TextBox for Total All****
  textBoxAllTotalContainer.Size = new Size(175, 50);
  textBoxAllTotalContainer.Location = new Point(1150, 575);
  textBoxAllTotalContainer.TextChanged += new System.EventHandler(this.textBox_TextChanged);

  theForm.Controls.Add(textBoxAllTotalContainer);
}

private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
  AddNewForm(sender, e);
}

private void AddNewForm(object sender, EventArgs e)
{
  this.Hide();

  Form newForm = new Form();

  AddObjects(sender, e, newForm);

  newForm.ShowDialog();
}

前もって感謝します!

4

1 に答える 1