Je souhaite désactiver le redimensionnement de la colonne listview. Comment puis-je le faire?comment désactiver le redimensionnement de la colonne listview?
2
A
Répondre
1
Si vous voulez des colonnes redimensionnables et d'autres non redimensionnable, utilisez ObjectListView. Dans ce contrôle, chaque colonne peut avoir une largeur Max/Min. Voir this recipe pour les instructions.
1
Add a new class to your project and paste the code shown below. Build. Drag the new control from the top of your toolbox onto a form.
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;
public class FixedColumnView : ListView {
private HeaderWindow mHeader;
public FixedColumnView() {
this.View = View.Details;
}
protected override void WndProc(ref Message m) {
Console.WriteLine(m.ToString());
if (m.Msg == WM_DESTROY) {
// Un-subclass header control
if (mHeader != null) mHeader.ReleaseHandle();
mHeader = null;
}
if (m.Msg == WM_NOTIFY) {
// Prevent dragging
NMHDR nm = (NMHDR)m.GetLParam(typeof(NMHDR));
if (nm.code == HDN_BEGINTRACK) {
m.Result = (IntPtr)1;
return;
}
}
base.WndProc(ref m);
if (m.Msg == WM_CREATE) {
// Subclass the header control
IntPtr hWnd = SendMessage(this.Handle, LVM_GETHEADER, IntPtr.Zero, IntPtr.Zero);
if (mHeader == null || mHeader.Handle != hWnd) {
if (mHeader != null) mHeader.ReleaseHandle();
else mHeader = new HeaderWindow();
mHeader.AssignHandle(hWnd);
}
}
}
private class HeaderWindow : NativeWindow {
protected override void WndProc(ref Message m) {
if (m.Msg == WM_SETCURSOR) {
// Prevent cursor from changing
m.Result = (IntPtr)1;
return;
}
if (m.Msg == WM_LBUTTONDBLCLICK) {
// Prevent double-click from changing column
return;
}
base.WndProc(ref m);
}
}
// P/Invoke declarations
private const int WM_CREATE = 0x0001;
private const int WM_DESTROY = 0x0002;
private const int WM_SETCURSOR = 0x0020;
private const int WM_NOTIFY = 0x004e;
private const int WM_LBUTTONDBLCLICK = 0x0203;
private const int LVM_GETHEADER = 0x101f;
private const int HDN_FIRST = -300;
private const int HDN_BEGINTRACK = HDN_FIRST - 26;
[StructLayout(LayoutKind.Sequential)]
private struct NMHDR {
public int hWndFrom;
public int idFrom;
public int code;
}
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
}
Et Voir aussi ce
Questions connexes
- 1. Empêcher le redimensionnement de la colonne ListView en double-cliquant?
- 2. jqGrid - Désactiver le redimensionnement de la colonne utilisateur
- 3. Désactiver le redimensionnement de la page html
- 4. Comment désactiver la navigation ListView via le clavier
- 5. ExtJS Redimensionnement dynamique de la colonne Grid
- 6. Désactiver le redimensionnement des colonnes dans <rich: extendedDataTable>
- 7. WPF ListView s'agrandit en réponse à la colonne de redimensionnement, mais ne rétrécit pas
- 8. MinWidth pour la colonne ListView
- 9. VB.Net: Redimensionnement de la colonne ListBoxView lorsque le formulaire est redimensionné
- 10. Masquer la colonne de wpf listview
- 11. dimensionnement automatique de la colonne ListView
- 12. Comment désactiver le redimensionnement de la sous-vue de NSSplitView dans Interface Builder?
- 13. J'ai besoin d'aide pour désactiver le redimensionnement de shadowbox
- 14. problème de redimensionnement de colonne dans gridpanel
- 15. Comment désactiver le redimensionnement de la fenêtre du plugin jQuery Fullcalendar?
- 16. comment pouvons-nous désactiver le redimensionnement de la nouvelle fenêtre popup dans firefox?
- 17. jqGrid - événement de redimensionnement de colonne
- 18. Dojo DataGrid et redimensionnement de colonne
- 19. redimensionnez correctement WPF dernière colonne de ListView
- 20. Désactiver le redimensionnement des tables dans mozilla en mode conception
- 21. Désactiver le redimensionnement opaque du séparateur QMainWindow/QDockWidget
- 22. Désactiver la colonne "updated_at" dans Rails
- 23. Désactiver la colonne dans MSHFlexGrid dans VB6.0
- 24. Dessiner en dehors de la zone de la colonne dans l'en-tête de la colonne listview
- 25. Sélection de colonne dans ListView (MFC)
- 26. WPF Listview: événement de réorganisation de colonne?
- 27. Problème de tri ListView par colonne
- 28. Colonne cachée sur ListView - Android
- 29. Sql Developer 2.1 fenêtre de résultats de la requête: désactiver le redimensionnement automatique?
- 30. désactiver la bordure de la table dans une colonne sage
ça ne m'aide pas beaucoup. J'utilise PowerShell. – Varyanica