Entwickler-Ecke

WinForms - Listview.Selected.MakeVisible(false); unter C# ?


MrKnogge - So 22.05.11 11:05
Titel: Listview.Selected.MakeVisible(false); unter C# ?
Hallo Zusammen!

Ich habe in einer Listview mehr Einträge, als angezeigt werden können. Nun möchte ich zu einem bestimmten Eintrag springen, dessen Index ich kenne. Die Delphi-Methode MakeVisible konnte ich unter C# aber nicht finden!?

Viele Grüße & besten Dank!


jaenicke - So 22.05.11 11:24

Wie wäre es mit EnsureVisible? ;-)
http://msdn.microsoft.com/de-de/library/system.windows.forms.listview.ensurevisible.aspx


MrKnogge - So 22.05.11 11:46

Ah ok, vielen Dank! Das Problem ist ein anderes. EnsureVisible funktioniert scheinbar nur, wenn Scrollable auf true steht. Ist dies der Fall, bekomme ich beim Hinzufügen neuer Einträge neben dem vertikalen Scrollbalken aber auch den horizontalen, obwohl dieser nicht benötigt werden würde. (daher hatte ich es rausgenommen)


Peter Bär - Mo 23.05.11 07:14

Probier mal folgende Funktion:

dataGridView1.FirstDisplayedScrollingRowIndex = IndexdeinerZeile;

Mit dieser Funktion wird die zuerst selektierte Zeile als erste Zeile des DataGridView angezeigt.


Th69 - Mo 23.05.11 09:40

Hallo Peter,

da es hier aber um ein ListView-Control geht, lautet die zugehörige Eigenschaft ListView.TopItem ;-)
Jedoch funktioniert diese ebensowenig wie EnsureVisible, wenn Scrollable auf false steht.

MrKnogge, mit welchen 'View' arbeitest du denn in deinem ListView?


MrKnogge - Mo 23.05.11 14:32

@Th69
mit Deteils.

Ich habe aber nun Scrollable wieder auf true gesetzt und nutze EnsureVisible().

Viele Dank euch allen!