private void DrawBase1(Core core, int windowSize, int dataLength) // OPTIMAL

        {

            /* parse window */

            var OPLIST = new List<char>();


            g.Clear(Color.Black);


            for (int i = 0; i < dataLength; i++) // length

            {

                int psudoCursor = core.pageHistory[i].loc;

                char data = core.pageHistory[i].data;

                Page.STATUS status = core.pageHistory[i].status;


                switch (status)

                {

                    case Page.STATUS.PAGEFAULT:

                        OPLIST.Add(data);

                        break;

                    case Page.STATUS.MIGRATION:

                        OPLIST.RemoveAt(2);

                        OPLIST.Insert(2,data);   

                        break;

                }


                for (int j = 0; j <= windowSize; j++) // height - STEP

                {

                    if (j == 0)

                    {

                        DrawGridText1(i, j, data);

                    }

                    else

                    {

                        DrawGrid1(i, j);

                    }

                }


                DrawGridHighlight1(i, psudoCursor, status);

                int depth = 1;


                foreach (char t in OPLIST)

                {

                    DrawGridText1(i, depth++, t);

                }

            }

        }



 private void DrawGridHighlight1(int x, int y, Page.STATUS status)

        {

            int gridSize = 30;

            int gridSpace = 5;

            int gridBaseX = x * gridSize;

            int gridBaseY = y * gridSize;


            SolidBrush highlighter = new SolidBrush(Color.LimeGreen);


            switch (status)

            {

                case Page.STATUS.HIT:

                    break;

                case Page.STATUS.MIGRATION:

                    highlighter.Color = Color.Blue;

                    break;

                case Page.STATUS.PAGEFAULT:

                    highlighter.Color = Color.Red;

                    break;

            }


            g.FillRectangle(highlighter, new Rectangle(

                gridBaseX + (x * gridSpace),

                gridBaseY,

                gridSize,

                gridSize

                ));

        }


이거 MIGRATION 에서 3번째칸을 삭제하고 3번째칸에 데이터를 넣는데 자꾸 파란색은 4번째칸에 처박히는 이유가 뭔가요?..