winform - Zusammenführen von Datagridview-Headern

Ich habe ein Problem mit dem Zusammenführen der Datagridview-Header in WinForm.

Ich benutze diesen Code:

void dataGridView1_Paint(object sender, PaintEventArgs e)
    {
        Rectangle r1 = dataGridView1.GetCellDisplayRectangle(2, -1, true);
        Rectangle r2 = dataGridView1.GetCellDisplayRectangle(3, -1, true);

        r1.X += 1;
        r1.Y += 2;
        r1.Width += r2.Width - 2;
        r1.Height -= 6;

        using (SolidBrush br = new SolidBrush(dataGridView1.ColumnHeadersDefaultCellStyle.BackColor))
        {
            e.Graphics.FillRectangle(br, r1);
        }

        //draw text
        using (SolidBrush br = new SolidBrush(this.dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor))
        {
            StringFormat sf = new StringFormat
                                  {
                                      LineAlignment = StringAlignment.Center,
                                      Alignment = StringAlignment.Center
                                  };
            e.Graphics.DrawString("merged header", dataGridView1.ColumnHeadersDefaultCellStyle.Font, br, r1, sf);
        }
    }

bevor Sie das Raster scrollen. Alles ist in Ordnung, aber nach dem Scrollen wurde der Kopfzeilentext in Mülltext geändert. Bitte überprüfen Sie dieSchnappschuss .

Ich würde mich freuen, wenn mir jemand helfen könnte, eine gute Lösung zu finden.

ali.mz

Antworten auf die Frage(1)

Ihre Antwort auf die Frage