91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C#中ListView的滾動條如何自定義

c#
小樊
151
2024-08-13 16:27:37
欄目: 編程語言

在C#中,可以通過自定義繼承自ListView控件的類,然后重寫WndProc方法來自定義ListView的滾動條。以下是一個簡單的示例代碼:

using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

public class CustomListView : ListView
{
    private const int WM_NCCALCSIZE = 0x83;
    
    protected override void WndProc(ref Message m)
    {
        if (m.Msg == WM_NCCALCSIZE)
        {
            // 禁用垂直滾動條
            if (m.WParam.ToInt32() != 0)
            {
                RECT rc = (RECT)Marshal.PtrToStructure(m.LParam, typeof(RECT));
                rc.Right += SystemInformation.VerticalScrollBarWidth;
                Marshal.StructureToPtr(rc, m.LParam, false);
            }
        }

        base.WndProc(ref m);
    }

    [StructLayout(LayoutKind.Sequential)]
    private struct RECT
    {
        public int Left;
        public int Top;
        public int Right;
        public int Bottom;
    }
}

在上面的代碼中,我們創建了一個繼承自ListView的CustomListView類,并重寫了WndProc方法。在WndProc中,我們攔截消息WM_NCCALCSIZE,然后通過修改RECT結構體的值來禁用垂直滾動條。

使用這個CustomListView類替換原來的ListView控件,即可實現自定義ListView的滾動條效果。

0
壶关县| 佛山市| 江西省| 都匀市| 安岳县| 邹平县| 乌拉特前旗| 柳河县| 亚东县| 建湖县| 白银市| 双流县| 龙游县| 阳江市| 海门市| 乳山市| 马关县| 玉树县| 长岭县| 淅川县| 怀集县| 大英县| 左贡县| 库车县| 梁河县| 喜德县| 怀化市| 宝丰县| 罗源县| 大港区| 龙陵县| 徐闻县| 兴隆县| 忻城县| 通辽市| 吉隆县| 东丰县| 梓潼县| 扎囊县| 华安县| 南城县|