平时我们接触软件程序时,一般应用程序的窗体都可以非常方便的更改其大小,但是,如果我们将窗体的标题栏隐藏以后,窗体的大小还可以更改吗?这样的情况下大部分应用程序的窗体的大小是无法进行更改的,因为,屏蔽标题栏后,窗体就会默认将边框同时去除了,那么,遇到这种情况在c#编程语言中该如何解决呢?下面济南网站建设小编news.hcsw666.com/就来为大家分享,建立一个没有标题栏的窗体然后更改该窗体大小的小方法,有需要的朋友可以过来参考一下。
关键代码:
public partial class Form1 : Form
{
private bool resizeDir; // 用于判断是否处于调整大小状态
public Form1()
{
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
this.DoubleBuffered = true;
this.SetStyle(ControlStyles.ResizeRedraw, true); // 确保重绘时减少闪烁
}
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)
{
// 判断鼠标位置是否在窗体边缘,这里仅以右下角为例
if (e.X >= this.ClientSize.Width - 10 && e.Y >= this.ClientSize.Height - 10)
{
resizeDir = true;
}
}
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (resizeDir)
{
// 调整窗体大小
this.Size = new Size(e.X + 10, e.Y + 10);
}
}
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
resizeDir = false; // 停止调整大小
}
}
评论