Ok das passiert wenn man die letzte Spalte auf Fill setzt wenn die Spalte schon gar nicht mehr in den sichtbaren Bereich passt.
Aka die anderen Spalten sind zusammen 1000px breit das Grid ist aber nur 800px breit und nun möchtest du das die letzte Spalte den (nicht vorhanden) Rest an Platz einnimt.
Ich habe gar keine Vorstellung was in diesem Fall überhaupt passieren sollte. Fill macht (meine Meinung) eigentlich nur in den Fällen Sinn wo man keine horizontale Scrollbar braucht.
Vielleicht beschreibst du mal genau welches Verhalten du dir wünscht. Dann kann man sich überlegen ob man da irgendwie in die Nähe kommt.
Edit:
Möglicherweise reicht es dir schon wenn du die minimale Breite der Spalte setzt. Z.B.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| private void button1_Click(object sender, EventArgs e) { dataGridView1.DataSource = new DirectoryInfo(@"D:\").GetFiles(); dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dataGridView1.Columns[dataGridView1.ColumnCount - 1].MinimumWidth = dataGridView1.Columns[dataGridView1.ColumnCount - 1].GetPreferredWidth(DataGridViewAutoSizeColumnMode.AllCells, true); dataGridView1.Columns[dataGridView1.ColumnCount - 1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; } |