Ozz*_*zzy 5 c# user-interface cursor
在我的程序中,我使用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;
}
}
Run Code Online (Sandbox Code Playgroud)
由于Lasse发给我的链接,我找到了使用WndProc的方法.谢谢你的答复Jon,但这不是我想要的.对于那些想知道我是怎么做的人,我使用了这个:
protected override void WndProc(ref Message m)
{
const int WM_NCHITTEST = 0x0084;
switch (m.Msg)
{
case WM_NCHITTEST:
return;
}
base.WndProc(ref m);
}
Run Code Online (Sandbox Code Playgroud)
我没有彻底测试它,所以不知道是否有任何副作用,但它现在对我来说工作正常:).
| 归档时间: |
|
| 查看次数: |
3128 次 |
| 最近记录: |