平时我们接触软件程序时,一般应用程序的窗体都可以非常方便的更改其大小,但是,如果我们将窗体的标题栏隐藏以后,窗体的大小还可以更改吗?这样的情况下大部分应用程序的窗体的大小是无法进行更改的,因为,屏蔽标题栏后,窗体就会默认将边框同时去除了,那么,遇到这种情况在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; // 停止调整大小 } }
评论