Sie müssen die DataGridViewColumn.AutoSizeModeEigenschaft verwenden.
Sie können einen dieser Werte für die Spalten 0 und 1 verwenden:
AllCells: Die Spaltenbreite wird an den Inhalt aller Zellen in der Spalte angepasst , einschließlich der Kopfzelle.
AllCellsExceptHeader: Die Spaltenbreite wird an den Inhalt aller Zellen in der Spalte angepasst , mit Ausnahme der Kopfzelle.
DisplayedCells: Die Spaltenbreite wird an den Inhalt aller Zellen in der Spalte angepasst, die sich in Zeilen befinden, die derzeit auf dem Bildschirm angezeigt werden, einschließlich der Kopfzelle.
DisplayedCellsExceptHeader: Die Spaltenbreite wird an den Inhalt aller Zellen in der Spalte angepasst, die sich in Zeilen befinden, die derzeit auf dem Bildschirm angezeigt werden, mit Ausnahme der Kopfzelle.
Dann verwenden Sie den Füllwert für Spalte 2
Die Spaltenbreite wird so angepasst, dass die Breite aller Spalten den Anzeigebereich des Steuerelements genau ausfüllt ...
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
Wie von anderen Benutzern hervorgehoben, kann der Standardwert auf der datagridviewEbene der DataGridView.AutoSizeColumnsModeEigenschaft festgelegt werden.
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
könnte sein:
this.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
Wichtige Notiz:
Wenn Ihr Raster an eine Datenquelle gebunden ist und Spalten automatisch generiert werden ( AutoGenerateColumnsEigenschaft auf True festgelegt), müssen Sie das DataBindingCompleteEreignis verwenden, um den Stil anzuwenden, nachdem Spalten erstellt wurden.
In einigen Szenarien (z. B. Ändern des Zellenwerts durch Code) musste ich aufrufen DataGridView1.AutoResizeColumns();, um das Raster zu aktualisieren.