zoukankan      html  css  js  c++  java
  • C#拖动自己的定义标题栏(panel)以及实现窗体拖动关闭和最小化

    //没有标题
    this.FormBorderStyle = FormBorderStyle.None;
    //任务栏不显示
    this.ShowInTaskbar = false;

    //实现拖动

    1.在窗体类里面加入,下面两个,按提示加入命名空间

    [DllImport("user32.dll", CharSet = CharSet.Unicode)]
    public static extern IntPtr SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);

    [DllImport("user32.dll", CharSet = CharSet.Unicode)]
    public static extern bool ReleaseCapture();

    2.拖动一个panel然后,闪电事件中加入下面代码,实现拖动
    private void panel1_MouseDown(object sender, MouseEventArgs e)//在panel1中添加mouse_down事件
    {
      const int WM_NCLBUTTONDOWN = 0x00A1;
      const int HTCAPTION = 2;

      if (e.Button == MouseButtons.Left) // 按下的是鼠标左键
      {
        ReleaseCapture();
        SendMessage(this.Handle, WM_NCLBUTTONDOWN, (IntPtr)HTCAPTION, IntPtr.Zero); // 拖动窗体
      }
    }

    //形状实现

    最小化

    private void button4_Click(object sender, EventArgs e)
    {
      this.WindowState = FormWindowState.Minimized;
    }

    最大化

    private void button5_Click(object sender, EventArgs e)
    {
      this.WindowState = FormWindowState.Maximized;
    }

    关闭

    private void button6_Click(object sender, EventArgs e)
    {
      this.Close();
    }

  • 相关阅读:
    [ZJOI2006]书架
    [NOI2005]维护数列
    Python 最佳实践
    python中使用多继承
    python 抽象类、抽象方法的实现
    30个有关Python的小技巧
    一行 Python 实现并行化 -- 日常多线程操作的新思路
    python日志模块logging
    在Python中怎么表达True
    有趣的库:pipe(类似linux | 管道)库
  • 原文地址:https://www.cnblogs.com/fx427103/p/4143017.html
Copyright © 2011-2022 走看看