c# - 换色器功能的堆栈溢出错误

标签 c# .net asp.net algorithm stack-overflow

我有两种颜色“红色”和“鲑鱼”。我需要动态创建面板也需要面板背景颜色。这些颜色必须介于两种颜色之间(红色

 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/

相关文章:

c# - session 与单例模式

c# - Xamarin.Forms 选项卡式页面和注销

c# - 林克 :DataTable select does not work if column name has space in it?

.net - 多个部分意味着模型错误在表格之间流血

c# - 使用 ASP.Net Web 窗体 View

asp.net - 在 MVC 中构建的新页面和现有 WebForms ASP.NET 项目之间共享身份验证

c# - 创建到 relativity 客户端的 OdbcConnection

c# - 无法从服务器线程更新 UI 中的文本框

c# - Visual Studio 引用不再存在的命名空间

asp.net - 验证渲染在服务器表单 : no suitable method found to override C# error