2009-06-18 3 views

Trả lời

13

Nếu bạn chỉ muốn một bàn chải rắn với một màu ngẫu nhiên, bạn có thể thử này:

Random r = new Random(); 
    int red = r.Next(0, byte.MaxValue + 1); 
    int green = r.Next(0, byte.MaxValue + 1); 
    int blue = r.Next(0, byte.MaxValue + 1); 
    System.Drawing.Brush brush = new System.Drawing.SolidBrush(Color.FromArgb(red, green, blue)); 
+1

Lần đầu tiên tôi nhìn thấy ai đó sử dụng byte.MaxValue ... – sloth

1

Cách rõ ràng là tạo một số ngẫu nhiên và sau đó chọn cọ tương ứng.

2

Tôi đề nghị nhận được một danh sách các đủ bàn chải mẫu, và chọn một cách ngẫu nhiên từ đó.

Chỉ nhận được một màu ngẫu nhiên sẽ mang lại màu sắc khủng khiếp và bạn có thể dễ dàng thiết lập danh sách 50 màu mà bạn có thể sử dụng mỗi lần bạn cần một màu ngẫu nhiên.

3

Đối với WPF, sử dụng phản ánh:

var r = new Random(); 
var properties = typeof(Brushes).GetProperties(); 
var count = properties.Count(); 

var colour = properties 
      .Select(x => new { Property = x, Index = r.Next(count) }) 
      .OrderBy(x => x.Index) 
      .First(); 

return (SolidColorBrush)colour.Property.GetValue(colour, null); 
+0

Ông muốn System.Drawing.Brush – jjxtra

+0

này là hữu ích đối với tôi. – Tony