1
다른 레이블보다 내 레이블 "날짜"를 배치하려고합니다. 그러나 나는 정말로 그것에 고심하고있다. bringToFront와 sendToBack을 사용하여 시도했지만 어느 것도 작동하지 않았습니다. 내 목표는 날짜 표시가 앞에 있다는 것입니다.내 레이블의 z 위치를 변경할 수 없습니다.
코드 :
//Create Fill Panels
createFillPanels();
//Create Panel
Panel test = new Panel();
count++;
//Fill Panel
test.Name = "panel" + i;
test.Width = 245;
test.Height = 170;
test.BackColor = Color.White;
Label date = new Label();
if(i >= 9)
{
int description = i + 1;
date.Text = description.ToString();
}
else
{
int description = i + 1;
date.Text = 0 + description.ToString();
}
//Create Label
string day = date.Text;
string year = DateTime.Now.Year.ToString();
string month = tbMonat.Text;
string stringDate = day + "." + month + "." + year;
DateTime dt = Convert.ToDateTime(stringDate);
if (dt.DayOfWeek == DayOfWeek.Sunday)
{
test.BackColor = Color.LightGray;
}
//Label frühschicht
Label frühschicht = new Label();
string frühschichtText = datenbank.panelBefüllen(tag, monat, jahr, "Frühschicht", null, null, null, null);
if(frühschichtText != null)
{
frühschicht.Text = "Frühschicht: " + frühschichtText;
frühschicht.ForeColor = Color.Black;
frühschicht.Width = 215; }
frühschicht.Location = new System.Drawing.Point(frühschichtlocationX, frühschichtlocationY);
date.Location = new System.Drawing.Point(datelocationX, datelocationY);
foreach (Control c in this.Controls)
if (frühschicht.Text.Contains("Offe"))
{
frühschicht.BackColor = Color.LightPink;
fehlercount++;
}
frühschicht.SendToBack();
test.Controls.Add(frühschicht);
date.BringToFront();
test.Controls.Add(date);
flowLayoutPanel1.Controls.Add(test);
test.Show();
//Label spätschicht
Label spätschicht = new Label();
string spätschichtText = datenbank.panelBefüllen(tag, monat, jahr, "Spätschicht", null, null, null, null);
if (spätschichtText != null)
{
spätschicht.Text = "Spätschicht: " + spätschichtText;
spätschicht.ForeColor = Color.Black;
spätschicht.Width = 215;
}
spätschicht.Location = new System.Drawing.Point(spätschichtlocationX, spätschichtlocationY);
spätschicht.SendToBack();
test.Controls.Add(spätschicht);
date.Location = new System.Drawing.Point(datelocationX, datelocationY);
date.BringToFront();
foreach(Control c in this.Controls)
if(spätschicht.Text.Contains("Offe"))
{
spätschicht.BackColor = Color.LightPink;
fehlercount++;
}
test.Controls.Add(date);
flowLayoutPanel1.Controls.Add(test);
test.Show();
사진 : How it looks like at the moment
'test'객체에 추가하지 않고 날짜를 앞쪽으로 옮겼습니다. –
테스트 객체에 추가 한 후에 이미 시도했습니다. 이렇게 : test.Controls [frühschicht.Name] .SendToBack(); 하지만 방금 NullReferenceException을주었습니다. 내가 잘못 했니? – CallMeLeonardo
... 물론 bringToFront와 함께 날짜와 동일합니다 ... – CallMeLeonardo