Для всех, кто может помочь мне здесь, я был бы очень благодарен!Добавление графики к компонентам, созданным во время выполнения
У меня очень маленькое приложение, которое создает несколько панелей во время выполнения с помощью LOOP. На данный момент количество панелей, которые будут создан является производным от значения, введенного в текстовом поле, но в конечном счете будет определяться целым числом, считанным из базы данных
Каждой панель имеет метку, которая создается в том же цикле
Моя проблема в том, что я хочу нарисовать 120 строк на каждой панели, поскольку она создана (на каждой итерации цикла FOR), и я делаю это с вложенным контуром WHILE
Я могу заставить все работать мелкие, панели создают вместе с названиями лейблов, но по какой-то причине я не могу получить линии для рисования
Это все в одном методе тестирования, может кто-нибудь мне помочь?
Код я в настоящее время выглядит следующим образом:
public void CreatePanels()
{
int PanelPosX = 50;
int PanelPosY = 500;
int LabelPosX = 10;
int LabelPosY = 10;
for (int i = 0; i < (Convert.ToInt32(textBox2.Text)); i++)
{
Panel pnlOverview = new Panel();
pnlOverview.Name = "InspectorPanel" + i.ToString();
pnlOverview.Text = "Inspector Panel " + i.ToString();
pnlOverview.Location = new Point(PanelPosX, PanelPosY);
pnlOverview.Size = new Size(974, 136);
pnlOverview.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
Controls.Add(pnlOverview);
PanelPosY += 170;
Label lblInspectorName = new Label();
lblInspectorName.Name = "InspectorName" + i.ToString();
lblInspectorName.Text = " Inspector " + i.ToString();
lblInspectorName.Width = 100;
lblInspectorName.Height = 13;
lblInspectorName.Location = new Point(LabelPosX, LabelPosY);
lblInspectorName.Size = new Size(974, 136);
pnlOverview.Controls.Add(lblInspectorName);
// Draw the Overview Chart
int x = 10;
int y = 0;
Pen OVTable = new Pen(Color.Black, 0);
while (y < 120)
{
Graphics mp = pnlOverview.CreateGraphics();
mp.DrawLine(OVTable, x, 40, x, 100);
y++;
x += 8;
}
}
return;
}
Благодаря Иван