C#全屏随机位置显示图片的小程序

想法:将屏幕截图作为程序背景图,在之上弹出提示窗口,选择确定后进行定时图片随机位置显示。(支持ESC键退出)

  • 需要添加的控件:Timer

  • 需要修改的Form1属性为下图红色区域:

  • 资源文件的添加:添加->新建项->资源文件

  • ESC键退出程序:

在Form1.Designer.cs中增加

this.KeyDown += Form1_KeyDown;

  • 代码如下:

     1         Rectangle bounds = Screen.GetBounds(Screen.GetBounds(Point.Empty));
     2
     3         public Form1()
     4         {
     5             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
     6             this.BackgroundImage = GetNoCursor();
     7             InitializeComponent();
     8         }
     9
    10         private void Form1_Load(object sender, EventArgs e)
    11         {
    12             timer1.Interval = 500;
    13             if (MessageBox.Show("消息", "标题", MessageBoxButtons.YesNo) == DialogResult.Yes)
    14             {
    15                 timer1.Enabled = true;
    16             }
    17             else
    18             {
    19                 this.Close();
    20             }
    21         }
    22
    23         private void Form1_KeyDown(object sender, KeyEventArgs e)
    24         {
    25             if (e.KeyData == Keys.Escape)
    26             {
    27                 timer1.Enabled = false;
    28                 MessageBox.Show("消息", "标题", MessageBoxButtons.OK);
    29                 this.Close();
    30             }
    31         }
    32
    33         private Bitmap GetNoCursor()
    34         {
    35             Bitmap Source = new Bitmap(bounds.Width, bounds.Height);    //根据屏幕大小创建Bitmap对象
    36             Graphics g = Graphics.FromImage(Source);
    37             g.CopyFromScreen(0, 0, 0, 0, Source.Size);  //获取没有鼠标的屏幕截图
    38             g.Dispose();    //释放资源
    39             return Source;
    40         }
    41
    42         private void timer1_Tick(object sender, EventArgs e)
    43         {
    44             Image img = Resource1.Image1;//获取用于显示的资源文件
    45             if (img != null)
    46             {
    47                 Graphics g = this.CreateGraphics();
    48                 Random rd = new Random();
    49                 int picXPoint = rd.Next(0, bounds.Right - img.Width);
    50                 int picYPoint = rd.Next(0, bounds.Height - img.Height);
    51                 Point ulCorner = new Point(picXPoint, picYPoint);
    52                 g.DrawImageUnscaled(img, ulCorner);
    53             }
    54             else
    55             {
    56                 timer1.Enabled = false;
    57                 MessageBox.Show("没有图片,感谢使用");
    58                 this.Close();
    59             }
    60         }
时间: 2024-12-14 07:53:43

C#全屏随机位置显示图片的小程序的相关文章

H5页面内容较少时如何让页面全屏在手机显示呢

解决方案1: 设置如下:html,body{ min-height:100vh; background-color:#fff; }这样高度首先不会写死,而且满足最小高度是满屏 解决方案2: 可以用vh和vw来布局.100vh和100vw就是你设备的高度和宽度.先把外面盒子固定下来,所有的盒子的高度加起来等于100vh刚好占满一屏这样就不会有空白.像你这种盒子比较少的可以用js获取设备的高度和宽度,然后用js设置盒子的高度,加起来等于你设备的高度就可以了.字体大小用rem表示.相对于根字体的大小.

在控件的任意位置显示图片

在控件的任意位置显示图片 效果图 xml代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent&

关于火狐游览器设置全屏状态不显示工具栏以及其他游览器全屏问题

无论是IE,火狐,还是谷歌游览器.按F11可以实现全屏状态显示,再次按F11可以回到原先的网页显示状态. 清楚游览器缓存快捷键:ctrl+shift+delete 实现火狐游览器在全屏状态显示工具栏的方法: 第一步打开火狐游览器:输入about:config如下图: 单击"我保证小心"打开如下网页并找到browser.fullscreen.autohide将此后面的"值"修改为"false"即可在全屏状态下显示工具栏.如下图所示: 之后将游览器关

【Android】Dialog从下往上弹起(Dialog全屏,模态显示)

public class MyDialog extends Dialog implements android.view.View.OnClickListener{ private Button cancel; Context context; View localView; private RelativeLayout clearallpan; protected MyDialog(Context context) { super(context); this.context = contex

Xamarin 中开发Android实现全屏或者不显示标题栏的方法-宋兴柱

using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; namespace AndroidDemo { [Activity(Label = "Android", MainLauncher = true, Icon = "@drawable/AppIcon&

基于FPGA驱动VGA显示图片的小问题

学习VGA显示图片的过程中,遇到了一个小问题,我在显示屏上开了一个60x60的框,放了一张图片进去显示,但是最终的结果如下图所示. 出现了一个竖黑边,看了看代码,分析了一下逻辑没问题,然而看这个显示那肯定是有问题的,然后仿真了一下看看,时序图如下. 正确的时序 错误的时序 我这是的是当行计数器记到200和场计数器记到200的时候显示ROM中的数据,在显示屏中开出一个60x60的正方形显示区域,对比上两幅图可得,第二幅图在当行计数器计数到200的时候lcd_data本应该是ROM里的数据,但是却输

Snackbar位置显示的一点小问题

compile 'com.android.support:design:23.4.0' Android Studio 新建项目会默认有个展示Snackbar的方法,一直没用.前两天某微信公众号看到 http://www.jianshu.com/p/996dc15d21be 这个文章.写得很好,很全面,基本功能,样式定制都有写到. 其中有处写到自定义显示位置的,感觉很有必要,因为这个和Toast不一样,Toast会显示在软键盘上,而这个会被软键盘挡住. ViewGroup.LayoutParams

连网获取图片的小程序

这些文件实际存放在电脑的硬盘上,通过tomcat已经做好了映射:参考 1 package net.blogjava.mobile; 2 3 import java.io.BufferedReader; 4 import java.io.InputStream; 5 import java.io.InputStreamReader; 6 import java.net.URL; 7 import java.net.URLConnection; 8 import java.util.ArrayLis

免费好用的图片识别小程序,纸质文档转换成电子档用微信这个免费功能只要3秒!

电脑日常工作中,经常需要把纸质文档整理成电子档,手动录入既耗时,效率还低,尤其纸质文档多的时候,靠手动录入根本不是办法,该怎么办呢?不要急,接下来小编教大家一招,3秒钟就能把纸质文档转换成电子档. 具体操作方法如下: 打开微信--小程序--搜索[迅捷文字识别],然后打开它. 可以看到它有2大功能,我们今天要用到第一个功能[照片.拍照],拍照识别,把纸质文档拍下来,然后点击[使用照片],只要3秒文字就识别出来啦. 文字识别好以后,点击最下方的[复制]功能,就可以把文字内容粘贴到备忘录或者Word文