2013-01-09 3 views
1

J'ai une méthode pour obtenir une couleur au hasard:couleur Réglage par nombre aléatoire asp.net

private System.Drawing.Color GetRandColor() 
    { 
     Random r = new Random(DateTime.Now.Millisecond); 

     System.Drawing.Color[] colours = 
     { 
      System.Drawing.Color.Yellow, 
      System.Drawing.Color.LightGreen, 
      System.Drawing.Color.LightCyan, 
      System.Drawing.Color.LightSalmon, 
      System.Drawing.Color.LightSkyBlue 
     }; 

     int i = r.Next(0, colours.Length - 1); 

     System.Drawing.Color c = colours[i]; 

     return c; 
    } 

Donc ce que je veux faire, est d'avoir cette couleur aléatoire passé dans mon html lorsque les page se charge. Il sera donc mis en Page_Load en quelque sorte:

protected void Page_Load(object sender, EventArgs e) 
    { 
       // code to set button color 
    } 

<asp:Button ID="Button1" runat="server" Text="Button" BackColor=GetRandColor()/> 
+0

Alors, voulez-vous changer votre bouton couleur de fond sur son événement de clic? – DON

+0

Cela signifie-t-il que vous voulez sélectionner n'importe quelle couleur de façon aléatoire à partir de ce tableau? – Dev

+0

Non Je souhaite le définir dans l'événement Page_Load. –

Répondre

3

Vous pouvez changer la couleur de fond du bouton dans le code C# lui-même. S'il vous plaît vérifier la méthode.

private void GetRandColor() 
    { 
     Random r = new Random(DateTime.Now.Millisecond); 

     System.Drawing.Color[] colours = 
     { 
      System.Drawing.Color.Yellow, 
      System.Drawing.Color.LightGreen, 
      System.Drawing.Color.LightCyan, 
      System.Drawing.Color.LightSalmon, 
      System.Drawing.Color.LightSkyBlue 
     }; 

     int i = r.Next(0, colours.Length - 1); 

     System.Drawing.Color c = colours[i]; 

     Button1.BackColor = c; 
    } 
0

Vous pouvez avoir votre méthode comme une commune

private void GetRandColor(object sender) 
{ 
    Random r = new Random(DateTime.Now.Millisecond); 

    System.Drawing.Color[] colours = 
    { 
     System.Drawing.Color.Yellow, 
     System.Drawing.Color.LightGreen, 
     System.Drawing.Color.LightCyan, 
     System.Drawing.Color.LightSalmon, 
     System.Drawing.Color.LightSkyBlue 
    }; 

    int i = r.Next(0, colours.Length - 1); 

    System.Drawing.Color c = colours[i]; 

    Button btn = (Button)sender; 
    btn.BackColor = c; 
}