在我的程序中,即时消息使用WndProc覆盖来停止调整表单大小。事实是,将指针移到窗体的边缘时,光标仍在那儿。反正有隐藏这个光标吗?

最佳答案

为什么不适本地设置 FormBorderStyle 属性呢?然后,您也不需要使用WndProc

以下是一些示例代码来演示-单击按钮可切换是否可以调整表单大小:

using System;
using System.Windows.Forms;
using System.Drawing;

class Test
{
    [STAThread]
    static void Main(string[] args)
    {
        Button button = new Button
        {
            Text = "Toggle border",
            AutoSize = true,
            Location = new Point(20, 20)
        };
        Form form = new Form
        {
            Size = new Size (200, 200),
            Controls = { button },
            FormBorderStyle = FormBorderStyle.Fixed3D
        };
        button.Click += ToggleBorder;
        Application.Run(form);
    }

    static void ToggleBorder(object sender, EventArgs e)
    {
        Form form = ((Control)sender).FindForm();
        form.FormBorderStyle = form.FormBorderStyle == FormBorderStyle.Fixed3D
            ? FormBorderStyle.Sizable : FormBorderStyle.Fixed3D;
    }
}

关于C#隐藏调整大小的游标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/930297/

10-11 02:11