2016-12-03 13 views
0

基本的には、ランダムな位置にいくつかのイメージを作成したいが、各タイプのイメージは偶数回表示されなければならない。だから私は整数配列を使用して、各画像タイプの出現時刻を保存します。問題は、アプリケーションを実行するときに "System.IndexOutOfRange"例外が発生したことです。 VSのブレンドは、常に "マンガランダム"配列の行をハイライト表示します。コードは次のとおりです。Silverlightについて整数配列

int SoHinh = 0; 
    string stt = ""; 
    int[] MangRandom = new int[4]; 
    public void CreateImage() 
    { 
     Image img1 = new Image(); 
     for (int i = 0; i < MangRandom.Length; i++) 
     { 
      if (MangRandom[i] % 2 != 0) 
      { 
       rand = i; 
       break; 
      } 
      rand = GetRandInt(1, 5); 
     } 
     img1.Source = new BitmapImage(new Uri("item" + rand + ".png", UriKind.Relative)); 
     Canvas.SetLeft(img1, r.Next(0, 512)); 
     Canvas.SetTop(img1, r.Next(0, 546)); 
     if (SoHinh < 10) { stt = "0"; } else { stt = ""; } 
     img1.Name = stt + SoHinh+"item" + rand + ".png"; 
     img1.Width = 32; 
     img1.Height = 32; 
     LayoutRoot.Children.Add(img1); 
     SoHinh++; 
     MangRandom[rand] +=1; 
    } 
private void LayoutRoot_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
    { 
     while (SoHinh <= 30) 
     { 
      CreateImage(); 

     } 
    } 

何か間違っていますか?この問題を解決するには?

+0

私はそれを自分で修正しました。 MangRandom [4]を5に増加しました。 –

答えて

0

増加MangRandom[4]から5が問題を解決しました。