我在这里遇到了一些问题。我正在尝试在整个屏幕上绘制一些东西,我有一个没有可见边框的全屏形式,但是,我无法在边框位置绘制,因此将有大约20多个像素空间,其上没有绘制任何内容边缘。我想我可以扩展窗口大小,使其从底部和右侧越过屏幕,但是你不能将位置设置为小于0,0所以顶部和左边框仍然阻挡我的绘图。
简单说明:如何在边框上绘图?
答案 0 :(得分:1)
一种方法是完全摆脱边界。您可以根据需要绘制自己的模拟边框。
为此,请将ControlBox属性设置为 false 。将表单的Text属性设置为string.Empty。将边框设置为FixedDialog以使窗体无法显示。
为了仍然可以移动表单,您必须覆盖WndProc,如下所示:
protected override void WndProc(ref Message message)
{
switch (message.Msg)
{
case 0x84:
message.Result = new IntPtr(0x2);
return;
}
base.WndProc(ref message);
}
该代码欺骗Windows认为鼠标点击非客户区实际上是在标题栏上。
请参阅http://msdn.microsoft.com/en-us/library/ms645618%28VS.85%29.aspx