[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] PowerShell对话框倒计时的完善

下面的代码是国外找的, 可以在标题栏中实现倒计时, 并且鼠标进入对话框后倒计时停止, 还能自定义对话框的位置
但是标题栏中只显示倒计时, 我需要:
1.在前面加个几个字, 例如:  倒计时:
2.对话框的位置是绝对的, 在不同分辨率下显示的地方不一样, 我想让对话框, 始终, 水平是居中, 竖直方向上, 对话框的下边离桌面的最下面50像素
找了一篇相关的文章, 但是看不太懂:
https://blog.csdn.net/wmqdn/article/details/8839753
  1. Add-Type -Ass System.Windows.Forms
  2. $form1 = New-Object Windows.Forms.Form
  3. $timer1 = New-Object Windows.Forms.Timer
  4. $timer1_Tick = {
  5. $form1.Text = $form1.Text - 1
  6. if ($form1.Text -eq -1)
  7. {
  8. $form1.Close()
  9. }
  10. }
  11. $form1_MouseEnter = {
  12. $timer1.Stop()
  13. }
  14. $form1.Controls.Add($label1)
  15. $form1.ClientSize = '239, 80'
  16. $form1.Text = '10'
  17. $form1.StartPosition = 'Manual' #对话框的位置
  18. $form1.Left = 880
  19. $form1.Top = 780
  20. $form1.add_Load($form1_Load)
  21. $form1.add_MouseEnter($form1_MouseEnter)
  22. # timer1
  23. $timer1.Enabled = $True
  24. $timer1.Interval = 1000
  25. $timer1.add_Tick($timer1_Tick)
  26. $form1.ShowDialog()
复制代码

本帖最后由 idwma 于 2022-1-30 19:51 编辑
  1. Add-Type -Ass System.Windows.Forms
  2. $form1 = New-Object Windows.Forms.Form
  3. $timer1 = New-Object Windows.Forms.Timer
  4. $timer1_Tick = {
  5. $form1.Text = $form1.Text - 1
  6. if ($form1.Text -eq -1)
  7. {
  8. $form1.Close()
  9. }
  10. }
  11. $form1_MouseEnter = {
  12. $timer1.Stop()
  13. }
  14. $form1.Controls.Add($label1)
  15. $w=239
  16. $h=80
  17. $form1.ClientSize = "$w, $h"
  18. $form1.Text = '10'
  19. $form1.StartPosition = 'Manual' #对话框的位置
  20. $xWidth = [Windows.Forms.Screen]::PrimaryScreen.WorkingArea.Width #// 获取显示器屏幕宽度
  21. $yHeight = [Windows.Forms.Screen]::PrimaryScreen.WorkingArea.Height #// 高度
  22. $form1.Left = $xWidth/2-$w/2
  23. $form1.Top = $yHeight-50-$h
  24. $form1.add_Load($form1_Load)
  25. $form1.add_MouseEnter($form1_MouseEnter)
  26. # timer1
  27. $timer1.Enabled = $True
  28. $timer1.Interval = 1000
  29. $timer1.add_Tick($timer1_Tick)
  30. $form1.ShowDialog()
复制代码
1

评分人数

TOP

回复 2# idwma


    感谢帮忙, 好像算法有误, 现在水平方向上没有居中, 偏右, 竖直方向上, 跑到任务栏下方去了, 被任务栏盖上20像素, 我的显示器 1920*1080

TOP

回复 2# idwma


    感觉是不是应该把这个 宽 高值, 定为变量更方便一些: $form1.ClientSize = '239, 80'

TOP

回复 4# 5i365


    可以改了

TOP

返回列表