ما هي أفضل طريقة لاختيار فرشاة عشوائية من مجموعة فرش في C #؟

StackOverflow https://stackoverflow.com/questions/1010638

  •  06-07-2019
  •  | 
  •  

سؤال

ما هو أفضل وسيلة لاختيار فرشاة عشوائية من مجموعة System.Drawing.Brushes في C #؟

هل كانت مفيدة؟

المحلول

إذا كنت ترغب فقط في فرشاة صلبة مع لون عشوائي، يمكنك أن تجرب هذا:

    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));

نصائح أخرى

لبرنامج الأغذية العالمي، واستخدام التفكير:

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);

وأقترح الحصول على قائمة من الفرش عينة كافية، واختيار عشوائي من هناك.

والحصول على مجرد لون عشوائي سوف تسفر الألوان رهيبة، وكنت قد بسهولة انشاء قائمة من 50 لونا ربما أنك عندئذ يمكن استخدامه في كل مرة كنت في حاجة الى واحد عشوائي.

وهناك طريقة واضحة لتوليد رقم عشوائي ثم اختيار الفرشاة المناسبة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top