zoukankan      html  css  js  c++  java
  • winform --无边框窗体 --窗体移动API

    无边框窗体:

    就是吧窗体的边框去掉,然后自己做按钮设置功能。

    ---移入变色

     1 //鼠标移入变色
     2         private void pictureBox2_MouseEnter(object sender, EventArgs e)
     3         {
     4             //pictureBox2.BackColor = Color.Red;
     5             pictureBox2.Image = Image.FromFile("G:\0425\6、WinForm\2016-7-4\Buttons\btn_close_highlight.png");
     6         }
     7 
     8         //鼠标按下变色
     9         private void pictureBox2_MouseDown(object sender, MouseEventArgs e)
    10         {
    11             //pictureBox2.BackColor = Color.Navy;
    12             pictureBox2.Image = Image.FromFile("G:\0425\6、WinForm\2016-7-4\Buttons\btn_close_down.png");
    13         }
    14         //鼠标移出变色
    15         private void pictureBox2_MouseLeave(object sender, EventArgs e)
    16         {
    17             //pictureBox2.BackColor = Color.Transparent;
    18             pictureBox2.Image = Image.FromFile("G:\0425\6、WinForm\2016-7-4\Buttons\btn_close_disable.png");
    19         }
    20         //点击事件
    21         private void pictureBox2_Click(object sender, EventArgs e)
    22         {
    23             MessageBoxButtons mb = MessageBoxButtons.OKCancel;
    24             DialogResult dr = MessageBox.Show("是否退出?", "退出", mb);
    25             if (dr == DialogResult.OK)
    26             {
    27                 this.Close();
    28             }
    29 
    30         }

    无边框窗体的移动:

    将下面代码直接复制粘贴,将窗体的鼠标按下事件的方法改成下面方法的名字就可以直接使用

     1 //窗体移动API
     2         [DllImport("user32.dll")]
     3         public static extern bool ReleaseCapture();
     4         [DllImport("user32.dll")]
     5         public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int IParam);
     6         public const int WM_SYSCOMMAND = 0x0112;
     7         public const int SC_MOVE = 0xF010;
     8         public const int HTCAPTION = 0x0002;
     9         [DllImport("user32")]
    10         private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, IntPtr lParam);
    11         private const int WM_SETREDRAW = 0xB;
    12 
    13         private void Form1_MouseDown(object sender, MouseEventArgs e)
    14         {
    15             if (this.WindowState == FormWindowState.Normal)
    16             {
    17                 ReleaseCapture();
    18                 SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
    19             }
    20         }
  • 相关阅读:
    shell下如何删除文件的某一列
    git如何列出最简短的commit(tag和head名都不显示)
    git如何列出每次提交对应有哪些文件被修改
    linux下如何使用命令行配置网络
    64bit ubuntu如何使能安装32bit软件
    linux下如何查看当前机器提供了哪些服务
    vi如何修改注释颜色
    uboot启动提示Error, wrong i2c adapter 0 max 0 possible后卡住了怎么办
    linux 如何改变文件属性与权限1
    Linux文件系统只读Read-only file system的解决方法
  • 原文地址:https://www.cnblogs.com/tonyhere/p/5650593.html
Copyright © 2011-2022 走看看