2012-04-16 8 views
1

textbox1から取得する文字列入力のフローチャートを実行しながら作成する必要があります。 フォームサイズは700 * 450であり、各文字(入力文字列からの文字)と矢印(ボタンに表示される)との間のスクロールが許可されています * チャート全体は「ABZAZAZA」 それぞれの文字のためのボタンの背景がで着色しなければならないasuitable色がありc#プログラム実行中のボタンからのフローチャート

プログラムは、「印刷」する必要があります:、この入力文字列のために例えばボタン* にehxibitedする。 A - > B - > Z - > A - > Z - > A - > Z - > A - >

矢印ボタンのサイズ:34 * 23 文字ボタンのサイズ:* 29 34

私のコードの問題、フローチャートは、相続人は、コード

が示されていないこと:

public void DrawingSystem(string st) 
    { 
     shura_acid = 12; 
     tur_acid = 185; 

     for (int i = 1; i <= st.Length; i++) 
     { 
      if ((i % 7) == 0) 
      { 
       OpenNewLine(); 
      } 
      CreateAcid(st[i - 1], i); 
      shura_acid = shura_acid + 24 + 68; 
     } 
    } 

    public void OpenNewLine() 
    { 
     tur_acid = tur_acid + 29 + 12;//34 because the size of button,12 because space between lines 
     shura_acid = 12; 
    } 

    public void CreateAcid(char letter, int i) 
    { 
     //create acid 
     Button acid = new Button(); 
     acid.Location = new System.Drawing.Point(shura_acid, tur_acid); 
     acid.Name = "acid" + i; 
     acid.Size = new System.Drawing.Size(34, 29); 
     acid.TabIndex = 100 + i; 
     acid.Text = Convert.ToString(letter); 
     switch (letter) 
     { 
      case 'A': acid.BackColor = System.Drawing.Color.Fuchsia; break; 
      case 'C': acid.BackColor = System.Drawing.Color.Pink; break; 
      case 'D': acid.BackColor = System.Drawing.Color.Gray; break; 
      case 'F': acid.BackColor = System.Drawing.Color.Azure; break; 
      case 'G': acid.BackColor = System.Drawing.Color.Red; break; 
      case 'H': acid.BackColor = System.Drawing.Color.Aqua; break; 
      case 'I': acid.BackColor = System.Drawing.Color.Lime; break; 
      case 'K': acid.BackColor = System.Drawing.Color.Yellow; break; 
      case 'L': acid.BackColor = System.Drawing.Color.Olive; break; 
      case 'M': acid.BackColor = System.Drawing.Color.Coral; break; 
      case 'N': acid.BackColor = System.Drawing.Color.SaddleBrown; break; 
      case 'P': acid.BackColor = System.Drawing.Color.Teal; break; 
      case 'Q': acid.BackColor = System.Drawing.Color.Blue; break; 
      case 'R': acid.BackColor = System.Drawing.Color.Orange; break; 
      case 'S': acid.BackColor = System.Drawing.Color.Green; break; 
      case 'T': acid.BackColor = System.Drawing.Color.SteelBlue; break; 
      case 'V': acid.BackColor = System.Drawing.Color.DarkViolet; break; 
      case 'W': acid.BackColor = System.Drawing.Color.Crimson; break; 
      case 'X': acid.BackColor = System.Drawing.Color.MediumAquamarine; break; 
      default: acid.BackColor = System.Drawing.Color.Gold; break; 
     } 


     //create arrow 
     Button arrow = new System.Windows.Forms.Button(); 
     arrow.Location = new System.Drawing.Point(shura_acid + 34 + 12, tur_acid); 
     arrow.Name = "acid" + i; 
     arrow.Size = new System.Drawing.Size(34, 23); 
     arrow.TabIndex = 100 + i; 
     arrow.Text = "-->"; 
     arrow.UseVisualStyleBackColor = false; 


    } 

答えて

1

を私が刺しを取りますよそれで。あなたのコードで、実際にacidまたはarrowボタンをコンテナに追加するのはどこにありますか?

あなたはこのような何か必要があります:あなたがそれらをに表示するコンテナに

this.Controls.Add(acid); 

this.Controls.Add(arrow); 

変更this.Controls

+0

私は「どのくらい愚かな想像することはできません。 m。ありがとうございました! – Noam650

関連する問題