项目场景:
在 WinForms 中制作 无边框窗体(FormBorderStyle = None)时,默认失去了窗口的标题栏与边框,因此也失去了通过鼠标拖动移动和调整大小的能力。本例子通过一个标题栏来拖动窗体,通过状态栏右下角的地方来拖动来改变窗体大小。本例子创建了两个窗体。一个baseform用来放标题栏和状态栏。
问题描述
提示:这里描述项目中遇到的问题:
难点是我窗体上被标题栏和状态栏dock之后很难选中
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.ConstrainedExecution;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1: Form
{
public Form1()
{
InitializeComponent();
panel1.MouseMove += panel1_MouseMove;
panel1.MouseDown += panel1_MouseDown;
panel1.MouseUp += Panel1_MouseUp;
panel2.MouseDown += PanelTitle_MouseDown;
this.DoubleBuffered = true;
}
[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HTCAPTION = 0x2;
private void PanelTitle_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(this

最低0.47元/天 解锁文章
4627

被折叠的 条评论
为什么被折叠?



