在我的程序中,即时通讯使用WndProc覆盖来停止调整表单的大小。事情是,当您将指针移动到窗体边缘时,光标仍然存在。有反正隐藏这个光标吗?C#隐藏调整大小光标
回答
我发现使用的WndProc多亏了拉塞·链接发给我的方式。感谢您的回复乔恩,但它不完全是我想要的。对于那些谁想要知道我是怎么做的,我用这个:
protected override void WndProc(ref Message m)
{
const int WM_NCHITTEST = 0x0084;
switch (m.Msg)
{
case WM_NCHITTEST:
return;
}
base.WndProc(ref m);
}
我没有测试它彻底所以不知道是否有任何的副作用,但它工作正常,我的那一刻:)。
为什么不恰当地设置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;
}
}
我有它设置为可调整大小的工具箱,因为在Vista中,你得到它周围的好边框。使用固定的3d,你不会得到那个边框(我把controlBox设置为false,没有标题) – Ozzy 2009-05-30 18:51:08
假设你的意思是SizeableToolWindow,你试过FixedToolWindow吗?它看起来和我完全一样,只是不能调整大小。 – 2009-05-30 19:10:18
Downvoters:请解释,所以答案可以改进。 – 2009-05-30 19:22:31
只需设置FormBorderStyle就足够了。你为什么使用WndProc?
@Ozzy/Lasse 为我工作!
有同样的问题:
标准边框样式不给我想要的外观,定制的CreateParams做。我为Size,MinimumSize和MaximumSize指定了相同的值来禁用调整大小。调整大小光标仍然被设置虽然,谢谢奥兹&拉塞这现在是通过过滤处理WM_NCHITTEST ...
感谢
- 1. JSplitPane调整大小光标
- 2. 调整隐藏帧的大小
- 3. 调整光源大小
- 4. 隐藏光标
- 5. 在窗体C中隐藏调整大小箭头#
- 6. 在使用C#的设计器中隐藏调整大小标记?
- 7. NSSecureTextField隐藏光标
- 8. Flowplayer隐藏光标
- 9. 安卓显示/隐藏小工具调整大小填写父
- 10. 更改光标隐藏光标
- 11. 目标c - UIImage调整大小问题
- 12. 鼠标光标位置在窗体上调整大小
- 13. 调整CSS自定义鼠标光标的大小
- 14. 如何调整窗口大小(动画)?隐藏和取消隐藏菜单
- 15. 隐藏在垂直屏幕上的隐藏面板调整大小
- 16. 调整光流大小的框架
- 17. 调整大小与闪光as3
- 18. Paper.js调整大小光栅/ TextItem /拖动
- 19. jQuery的显示/隐藏div-小调整
- 20. 如何在隐藏窗口小部件后调整窗口大小,同时仍允许调整窗口大小?
- 21. 空闲时隐藏光标
- 22. 离子隐藏光标
- 23. PyGTK的隐藏光标
- 24. 在TideSDK中隐藏光标
- 25. “隐藏”系统光标
- 26. Fixedwidthflextable标题大小调整
- 27. UITableView标题大小调整
- 28. QLayout可以隐藏而不是调整QWidgets的大小吗?
- 29. 调整窗口大小时不隐藏画布菜单
- 30. wxwidgets隐藏/显示子控件后调整大小sizer
我没有测试过这一点,所以我只是评论,你尝试过拦截WM_NCHITTEST消息?更多信息在这里:http://msdn.microsoft.com/en-us/library/ms645618(VS.85).aspx – 2009-05-30 18:36:16