我有两种颜色“红色”和“鲑鱼”。我需要动态创建面板也需要面板背景颜色。这些颜色必须介于两种颜色之间(红色
public Color x, y;
protected void Page_Load(object sender, EventArgs e)
{
BackGroundColorArranger(Color.Red, Color.Salmon);
}
void BackGroundColorArranger(Color x, Color y)
{
BackGroundColorArrangerBase(Convert.ToInt32((float)(x.ToArgb() + y.ToArgb()) / 2));
}
void BackGroundColorArrangerBase(int z)
{
Panel panel = new Panel();
panel.ID = z.ToString();
panel.Width = 150;
panel.Height = 50;
panel.BackColor = Color.FromArgb(z);
this.Controls.Add(panel);
BackGroundColorArranger(x, Color.FromArgb(z));
}
但是我该怎么做呢?上面的代码给我 stackoverflow 错误。
最佳答案
因为您在没有退出条件的情况下递归调用 BackGroundColorArranger。这里有一个提示,当您在调试器中遇到堆栈溢出异常时,转到“调试菜单”->“窗口”->“调用堆栈”,您会立即看到问题。
关于c# - 换色器功能的堆栈溢出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/985535/