我试图在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();
}
如果我在Color.FromRgb()中输入正常值,如1,2,3 ...等,它可以工作,但为什么不随机工作?
答案 0 :(得分:7)
Color.FromRgb
接受字节作为参数,因此您必须强制转换值:
Brush brush = new SolidColorBrush(Color.FromRgb((byte)r.Next(1, 255),
(byte)r.Next(1, 255), (byte)r.Next(1, 233)));
答案 1 :(得分: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)));