Ich verwende "SetWindowTheme" und "SendMessage", um eine .net-Listenansicht wie eine Listenansicht im Vista-Stil aussehen zu lassen, aber das Steuerelement ".net" hat immer noch einen gepunkteten Auswahlrahmen um das ausgewählte Element:
Ausgewählte Elemente in der Listenansicht des Explorers haben diesen Rahmen nicht um sie herum. Wie kann ich es entfernen?
Windows Explorer:
Bearbeiten: Lösung:
%Vor%Telanors Lösung hat für mich funktioniert. Hier ist eine etwas in sich geschlossene Version.
%Vor%Wenn Sie die Eigenschaft HotTracking auf true festlegen, wird das Fokusrechteck ausgeblendet. Dies hat den Explorer-Stil auf meinem Win7-Rechner wiederholt:
%Vor%Achten Sie darauf, dass die Unterstreichung der Elemente ein Nebeneffekt ist.
Es scheint nicht, dass es eine bestimmte Möglichkeit zum Ändern von ListViewItem-Stilen mit Windows Forms gibt.
Manchmal ist es nicht möglich, einige Win32-Steuerungsverhalten mithilfe von verwaltetem Code zu ändern. Die einzige Möglichkeit besteht darin, P / Invoke durchzuführen, um bestimmte Verhaltensweisen zu ändern. Ich finde das wirklich schwierig, aber du hast keine andere Wahl. Bei der Entwicklung von Windows Mobile-UIs (gerade mit ListView) bin ich oft auf diese Situation gestoßen.
Ich habe also keine direkte Antwort auf Ihre Frage, aber ich bin mir ziemlich sicher, dass Sie, wenn es nicht möglich ist, Windows Forms zu verwenden, mit P / Invoke arbeiten können. Die einzigen Hinweise, die ich Ihnen geben kann:
Tags und Links .net c# winforms listview listviewitem