Случайный цвет в С# WPF

Вопрос: Я пытаюсь сделать некоторые случайные цвета в WPF. Random r = new Random(); public MainWindow() { InitializeComponent(); Title = Convert.ToString(DateTime.Now); // Der Titel bekommt den Wert des aktuellen Datum } private void Button_Click(object sender, RoutedEventArgs e) { MainWindow mainwindow_1 = new MainWindow(); Brush brush = new SolidColorBrush(Color.FromRgb(r.Next(1,255),r.Next(1,255),r.Next(1,233))); mainwindow_1.txtbox_1.Background = brush; mainwindow_1.Show(); } Если я

Вопрос:

Я пытаюсь сделать некоторые случайные цвета в WPF.

Random r = new Random(); public MainWindow() { InitializeComponent(); Title = Convert.ToString(DateTime.Now); // Der Titel bekommt den Wert des aktuellen Datum } private void Button_Click(object sender, RoutedEventArgs e) { MainWindow mainwindow_1 = new MainWindow(); Brush brush = new SolidColorBrush(Color.FromRgb(r.Next(1,255),r.Next(1,255),r.Next(1,233))); mainwindow_1.txtbox_1.Background = brush; mainwindow_1.Show(); }

Если я ввожу нормальные значения, такие как 1,2,3… ect в Color.FromRgb(), это работает, но почему это не случайная работа?

Лучший ответ:

Color.FromRgb принимает байты как аргументы, поэтому вы должны Color.FromRgb свои значения:

Brush brush = new SolidColorBrush(Color.FromRgb((byte)r.Next(1, 255), (byte)r.Next(1, 255), (byte)r.Next(1, 233))); Ответ №1

Эта строка передает int аргументы функции, которая хочет аргументы byte:

Brush brush = new SolidColorBrush(Color.FromRgb(r.Next(1,255),r.Next(1,255),r.Next(1,233)));

Передайте аргументы байтам, чтобы избежать ошибки компиляции:

Brush brush = new SolidColorBrush(Color.FromRgb((byte)r.Next(1,255),(byte)r.Next(1,255),(byte)r.Next(1,233)));

Оцените статью
Добавить комментарий