Cách tốt nhất để chọn một bàn chải ngẫu nhiên từ bộ sưu tập System.Drawing.Brushes trong C# là gì?Cách tốt nhất để chọn một bàn chải ngẫu nhiên từ bộ sưu tập Brushes trong C# là gì?
6
A
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
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);
Lần đầu tiên tôi nhìn thấy ai đó sử dụng byte.MaxValue ... – sloth