Seltsames Problem mit einer Datagridview und einem Tabcontrol C #

Ich habe ein komisches Problem. Ich habe einTabControl mit zweiTabPages. Jede Seite hat einedatagridview. Beidedatagridviews sind besiedelt mitXML Dateien.

Ich möchte das habenAutoSizeColumnsMode einstellen "Fill" für beideDataGridViews. Ich möchte die Breite der Spalten in meinem Code festlegen.

Und alles funktioniert gut für dieTabPage1 aber Einstellungsbreite für dieDataGridView aufTabPage2 wirft dieNullReferenceException.

Ich verstehe es wirklich nicht, weil ich das Gleiche tue wie fürdatagridview1 und da klappt das aber primadatagridview2 wirft die Ausnahme. Außerdem gibt es keine Ausnahme, wenn ich eine wähleAutoSizeColumnsMode Wert aberFill.

Hier ist der Code:

        XmlReader xmlFile = XmlReader.Create("File1.xml", new XmlReaderSettings());
        DataSet ds = new DataSet();
        ds.ReadXml(xmlFile);



            dataGridView1.DataSource = ds.Tables[0];
            dataGridView1.Sort(dataGridView1.Columns[1], ListSortDirection.Ascending);

           dataGridView1.Columns[0].Width = 35;
            dataGridView1.Columns[1].Width = 248;
            dataGridView1.Columns[2].Width = 110;
            dataGridView1.Columns[3].Width = 140;
            dataGridView1.Columns[9].Width = 127;
            dataGridView1.Columns[0].Visible = false;
            dataGridView1.Columns[1].Visible = true;
            dataGridView1.Columns[2].Visible = true;
            dataGridView1.Columns[3].Visible = true;
            dataGridView1.Columns[4].Visible = false;
            dataGridView1.Columns[5].Visible = false;
            dataGridView1.Columns[6].Visible = false;
            dataGridView1.Columns[7].Visible = false;
            dataGridView1.Columns[8].Visible = false;
            dataGridView1.Columns[9].Visible = true;
            dataGridView1.Columns[10].Visible = true;
            dataGridView1.Columns[10].Width = 100;

            xmlFile.Close();

        XmlReader xmlFile2= XmlReader.Create("File2.xml", new XmlReaderSettings());
        DataSet ds2 = new DataSet();
        ds2.ReadXml(xmlFile2);
        dataGridView2.DataSource = ds2.Tables[0];


            dataGridView2.Columns[0].Width = 135; // The exception is thrown here
            dataGridView2.Columns[9].Width = 200;
            dataGridView2.Columns[8].Width = 300;
            dataGridView2.Columns[7].Width = 70;
            dataGridView2.Columns[6].Width = 70;
            dataGridView2.Columns[5].Width = 124;
            dataGridView2.Columns[4].Width = 81;
            dataGridView2.Columns[3].Width = 70;
            dataGridView2.Columns[2].Width = 70;
            dataGridView2.Columns[1].Width = 124;

            dataGridView2.Columns[0].Visible = true;
            dataGridView2.Columns[1].Visible = true;

            dataGridView2.Columns[2].Visible = true;
            dataGridView2.Columns[3].Visible = true;
            dataGridView2.Columns[4].Visible = true;

            dataGridView2.Columns[5].Visible = false;
            dataGridView2.Columns[6].Visible = false;
            dataGridView2.Columns[7].Visible = false;
            dataGridView2.Columns[9].Visible = false;


            xmlFile2.Close();

Antworten auf die Frage(2)

Ihre Antwort auf die Frage