我想创建随机绘图颜色.有一个错误.你能帮我解决一下这段代码吗?
private Random random;
private void MainForm_Load(object sender, EventArgs e)
{
random = new Random();
}
private Color GetRandomColor()
{
return Color.FromArgb(random.Next(0, 255), random.Next(0,255),random.Next(0,255));
// The error is here
}
public SolidBrush brushGet()
{
SolidBrush oBrush = new SolidBrush(GetRandomColor());
return oBrush;
}
Run Code Online (Sandbox Code Playgroud)
除了 Random 对象在调用之前未初始化之外,我没有发现上述代码有任何问题。也完全不需要在表单的Load事件中初始化它;它可以在声明时正确完成:
private static readonly Random Random = new Random();
Run Code Online (Sandbox Code Playgroud)
就我个人而言,我不会在本地范围内声明它,据我所知,如果您这样做,每次都会得到相同的值。我个人也不认为有必要将事情过于复杂化;每次生成随机数并使用Color.FromAgb()您应该没问题的方法。