托盘,最小化,关闭,鼠标拖住移动

1.       修改Form1StartPostion:CenterScreen

2.       FormBorderStyle None是上边框消失

3.       复制装有图片皮肤的文件夹Skinbin/Debug,复制到这的原因,Skin要与vstart.exe同一目录

4.       进行加载Skin图片,

5.       Form1导入图片,修改大小

6.       加入一个Button按钮,并给按钮导入图片,设置属性:AutoSize:True,AutoSizeMode:GrowAndShrink

7.       拖入一个PictureBox再导入图片

8.       思路:当鼠标移到两个picutreBox上时,图片的背景会发生改变

9.       设置picture的距离,要一步步的调试才能得到准确位置,以下代码在构造函数中

this.pictureBox1.Top = 3;

            this.pictureBox1.Left = 144;

            this.pictureBox2.Top = 3;

            this.pictureBox2.Left = 166;

10.   当鼠标移到picture 时发生的事伯MouseMove:picture 背景色改变

方法:this.pictureBox1.Image加入一个图片,想法:在前面已经加入两图片,可以看看他们是如何进行加的,Ctrl+f  进行搜索,在范围里搜索整个项目,要搜索的内容是::pituerBox1 可以搜索到到            this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));这句代码可以想象到=后面是一个image类型,

就用image为关键字,msnd里进行搜索,可以搜索到image,在类里能够找到方法与属于,由是由类名直接调用所以这个方法应该是static类型的,找到了就是它:

FromFile

已重载。 从指定的文件创建 Image

方法如下:    this.pictureBox1.Image = Image.FromFile("Skin//Royale//Min_Move.bmp");或者 this.pictureBox1.Image = Image.FromFile("Skin/Royale/Min_Move.bmp");

              这样可以去掉/

11.          MouseLeave:            this.pictureBox1.Image = Image.FromFile("Skin//Royale//Min_Normal.bmp");

         MouseDown:            this.pictureBox1.Image = Image.FromFile(@"Skin/Royale/Close_Down.bmp");

11.给最小化按钮加入一个NotifyIcon(通知图标)并选择一个图标,并添加Click事件,

这个事件应该是从托盘变成面板

private void notifyIcon1_Click(object sender, EventArgs e)

        {

            this.Visible = true;

            this.notifyIcon1.Visible = false;

        }

12.picuterBox添加Click事件:从面板到托盘

private void pictureBox1_Click(object sender, EventArgs e)

        {

            this.Visible = false;

            this.notifyIcon1.Visible  = true;

        }

13.下面的功能是鼠标拖住它,可以实现来回移动

思路:面板在中间,用鼠标拖住它可以移动,移动之前要知道面板的横竖坐标,移动之后有个新坐标,他们之间有个距离,让面板再根据距离进行相应的调整

  private void Form1_MouseDown(object sender, MouseEventArgs e)

        {

            if (e.Button == MouseButtons.Left)//判断是否是鼠标的左键

            {

                this.mousepoint.X = e.X;//得到原始坐标

                this.mousepoint.Y = e.Y;

            }

        }

 

        private void Form1_MouseMove(object sender, MouseEventArgs e)

        {

         

            if (e.Button == MouseButtons.Left)//判断是否是鼠标的左键

            {

                this.Top = MousePosition.Y - mousepoint.Y;//先前的坐减去原始的坐标

                this.Left = MousePosition.X - mousepoint.X;

            }

        }

 

 

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PyQt5中,我们可以使用系统托盘功能将应用程序最小化到系统托盘中。要实现最小化到系统托盘的功能,我们需要使用QSystemTrayIcon类和QMenu类。 首先,我们需要导入必要的模块: ```python from PyQt5.QtWidgets import QApplication, QMenu, QSystemTrayIcon from PyQt5.QtGui import QIcon ``` 然后,我们可以创建一个应用程序对象和主窗口对象: ```python app = QApplication([]) window = MainWindow() # 假设MainWindow是我们的主窗口 ``` 接下来,我们可以创建一个系统托盘图标对象并设置图标: ```python tray_icon = QSystemTrayIcon(window) tray_icon.setIcon(QIcon('path/to/icon.png')) # 设置托盘图标 ``` 然后,我们可以创建一个托盘菜单对象并添加相关操作: ```python tray_menu = QMenu() # 添加最小化托盘的操作 minimize_action = tray_menu.addAction('最小化') minimize_action.triggered.connect(window.hide) # 将主窗口隐藏 # 添加退出应用的操作 quit_action = tray_menu.addAction('退出') quit_action.triggered.connect(app.quit) # 退出应用程序 tray_icon.setContextMenu(tray_menu) # 将托盘菜单设置给托盘图标对象 ``` 最后,我们只需要将应用程序最小化时,将主窗口隐藏并显示托盘图标即可: ```python window.show() # 显示主窗口 tray_icon.show() # 显示托盘图标 app.exec_() ``` 这样,当我们将主窗口最小化时,应用程序会自动隐藏到系统托盘中。我们可以通过右键点击托盘图标打开菜单并选择相应的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值