Sie müssen die DataGridViewColumn.AutoSizeMode
Eigenschaft verwenden.
Sie können einen dieser Werte verwenden für Spalte 0 und 1:
AllCells:Die Spaltenbreite passt sich den Inhalt aller Zellen in die Spalte, einschließlich der Header-Zelle passen.AllCellsExceptHeader:Die Spaltenbreite passt sich an den Inhalt aller Zellen in der Spalte an, mit Ausnahme der Header-Zelle.
DisplayedCells:Die Spaltenbreite passen die Inhalte aller Zellen in der Spalte passt die aktuell angezeigten Bildschirm in Zeilen, einschließlich der Header-Zelle.
DisplayedCellsExceptHeader:Die Spaltenbreite paßt den Inhalt aller Zellen in der Spalte passen, die zur Zeit in den Reihen sind der Bildschirm angezeigt, ohne die Titelzelle.
Dann nutzen Sie den Fill Wert für Spalte 2
Die Spaltenbreite so einstellt, dass die Breiten aller Spalten genau den Bereich der Kontrollanzeige füllen ...
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 angegeben, kann der Standardwert auf datagridview
mit DataGridView.AutoSizeColumnsMode
Eigenschaft festgelegt werden.
this.DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
this.DataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
könnte sein:
this.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;
Wichtiger Hinweis:
Wenn Ihr Gitter an eine Datenquelle gebunden ist und Spalten automatisch generiert (AutoGenerateColumns
Eigenschaft auf True) , müssen Sie das DataBindingComplete
Ereignis verwenden, um NACH Spalten anzuwenden wurde erstellt.
In einigen Szenarien (Änderung Zellen Wert von Code zum Beispiel), hatte ich DataGridView1.AutoResizeColumns();
zu nennen das Raster zu aktualisieren.
Funktioniert perfekt bei Verwendung des DataBindingComplete-Ereignisses. –
Ich kann nicht herausfinden, wie DataBindingComplete-Methode aufgerufen wird, nachdem Datagrid aufgefüllt wurde – Dan
@Dan DataBindingComplete ist keine * Methode *, es ist ein DataGridview * -Ereignis *, die Sie abonnieren müssen. Diese Antwort http://stackoverflow.com/a/31685874/2387010 gibt ein Beispiel. Hilft es? – Chris