252 lines
7.1 KiB
C#
252 lines
7.1 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Timers;
|
|
using System.Windows.Forms;
|
|
|
|
namespace qk30ic;
|
|
|
|
public class Form2 : Form
|
|
{
|
|
private Bitmap bitmapA = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1.png");
|
|
|
|
private Bitmap bitmapB = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1_B.png");
|
|
|
|
private Bitmap bitmapC = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1_C.png");
|
|
|
|
private Bitmap bitmapD = new Bitmap(AppDomain.CurrentDomain.BaseDirectory + "\\pic1_D.png");
|
|
|
|
private System.Timers.Timer timer;
|
|
|
|
private IContainer components = null;
|
|
|
|
public Label label1;
|
|
|
|
public Form2()
|
|
{
|
|
InitializeComponent();
|
|
DoubleBuffered = true;
|
|
}
|
|
|
|
private void textBox1_TextChanged(object sender, EventArgs e)
|
|
{
|
|
}
|
|
|
|
private void Form2_Load(object sender, EventArgs e)
|
|
{
|
|
base.FormBorderStyle = FormBorderStyle.None;
|
|
string[] commandLineArgs = Environment.GetCommandLineArgs();
|
|
string[] array = commandLineArgs;
|
|
foreach (string text in array)
|
|
{
|
|
if (text.Equals("/debug"))
|
|
{
|
|
base.FormBorderStyle = FormBorderStyle.FixedSingle;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
|
|
{
|
|
}
|
|
|
|
private void label1_Click(object sender, EventArgs e)
|
|
{
|
|
}
|
|
|
|
private void Form2_Click(object sender, EventArgs e)
|
|
{
|
|
if (CompareImages(bitmapA, BackgroundImage))
|
|
{
|
|
Button button = new Button();
|
|
button.Size = new Size(500, 500);
|
|
button.FlatStyle = FlatStyle.Flat;
|
|
button.FlatAppearance.BorderSize = 0;
|
|
button.BackColor = Color.Transparent;
|
|
button.ForeColor = Color.Transparent;
|
|
button.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
|
button.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
|
button.Location = new Point(100, 230);
|
|
button.Name = "QRButton";
|
|
button.Click += QrIcButton_Click;
|
|
base.Controls.Add(button);
|
|
Button button2 = new Button();
|
|
button2.Size = new Size(500, 500);
|
|
button2.FlatStyle = FlatStyle.Flat;
|
|
button2.FlatAppearance.BorderSize = 0;
|
|
button2.BackColor = Color.Transparent;
|
|
button2.ForeColor = Color.Transparent;
|
|
button2.FlatAppearance.MouseOverBackColor = Color.Transparent;
|
|
button2.FlatAppearance.MouseDownBackColor = Color.Transparent;
|
|
button2.Location = new Point(700, 230);
|
|
button2.Name = "ICButton";
|
|
button2.Click += QrIcButton_Click;
|
|
base.Controls.Add(button2);
|
|
BackgroundImage = bitmapB;
|
|
SetHomeButton();
|
|
StartTimer(10000);
|
|
}
|
|
}
|
|
|
|
private void QrIcButton_Click(object sender, EventArgs e)
|
|
{
|
|
if (CompareImages(bitmapB, BackgroundImage))
|
|
{
|
|
Button button = (Button)sender;
|
|
string name = button.Name;
|
|
if (name == "QRButton")
|
|
{
|
|
BackgroundImage = bitmapC;
|
|
}
|
|
else if (name == "ICButton")
|
|
{
|
|
BackgroundImage = bitmapD;
|
|
}
|
|
}
|
|
RemoveMachiukeButtons();
|
|
SetHomeButton();
|
|
StartTimer(10000);
|
|
}
|
|
|
|
public void RemoveMachiukeButtons()
|
|
{
|
|
if (base.Controls["QRButton"] is Button value)
|
|
{
|
|
base.Controls.Remove(value);
|
|
}
|
|
if (base.Controls["ICButton"] is Button value2)
|
|
{
|
|
base.Controls.Remove(value2);
|
|
}
|
|
}
|
|
|
|
public void StartTimer(int ms)
|
|
{
|
|
if (timer != null)
|
|
{
|
|
timer.Stop();
|
|
timer.Dispose();
|
|
}
|
|
timer = new System.Timers.Timer(ms);
|
|
timer.Elapsed += Timer_Elapsed;
|
|
timer.Start();
|
|
}
|
|
|
|
private void Timer_Elapsed(object sender, EventArgs e)
|
|
{
|
|
Invoke((MethodInvoker)delegate
|
|
{
|
|
Console.WriteLine("タイマーが経過しました.");
|
|
System.Timers.Timer timer = (System.Timers.Timer)sender;
|
|
timer.Stop();
|
|
RemoveMachiukeButtons();
|
|
if (CompareImages(bitmapB, BackgroundImage) || CompareImages(bitmapC, BackgroundImage) || CompareImages(bitmapD, BackgroundImage))
|
|
{
|
|
Control control = base.Controls.Find("homeButton", searchAllChildren: true).FirstOrDefault();
|
|
if (control != null)
|
|
{
|
|
base.Controls.Remove(control);
|
|
control.Dispose();
|
|
}
|
|
BackgroundImage = bitmapA;
|
|
}
|
|
});
|
|
}
|
|
|
|
private bool CompareImages(Bitmap imageA, Image backgroundImage)
|
|
{
|
|
for (int i = 0; i < imageA.Width; i += 10)
|
|
{
|
|
for (int j = 0; j < imageA.Height; j += 10)
|
|
{
|
|
if (imageA.GetPixel(i, j) != ((Bitmap)backgroundImage).GetPixel(i, j))
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
private void SetHomeButton()
|
|
{
|
|
Control control = base.Controls.Find("homeButton", searchAllChildren: true).FirstOrDefault();
|
|
if (control != null)
|
|
{
|
|
base.Controls.Remove(control);
|
|
control.Dispose();
|
|
}
|
|
PictureBox pictureBox = new PictureBox();
|
|
pictureBox.Image = Image.FromFile(AppDomain.CurrentDomain.BaseDirectory + "\\homeButton.png");
|
|
pictureBox.BackColor = Color.Transparent;
|
|
pictureBox.ForeColor = Color.Transparent;
|
|
pictureBox.Size = new Size(125, 125);
|
|
int num = Screen.PrimaryScreen.WorkingArea.Height;
|
|
pictureBox.Location = new Point(1275 - pictureBox.Width, 795 - pictureBox.Height);
|
|
pictureBox.Click += HomeButton_Click;
|
|
pictureBox.Name = "homeButton";
|
|
base.Controls.Add(pictureBox);
|
|
pictureBox.BringToFront();
|
|
}
|
|
|
|
private void HomeButton_Click(object sender, EventArgs e)
|
|
{
|
|
RemoveMachiukeButtons();
|
|
for (int num = base.Controls.Count - 1; num >= 0; num--)
|
|
{
|
|
Control control = base.Controls[num];
|
|
if (control is Button || control is Label || control is PictureBox)
|
|
{
|
|
base.Controls.Remove(control);
|
|
control.Dispose();
|
|
}
|
|
}
|
|
BackgroundImage = bitmapA;
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
if (disposing && components != null)
|
|
{
|
|
components.Dispose();
|
|
}
|
|
base.Dispose(disposing);
|
|
}
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(qk30ic.Form2));
|
|
this.label1 = new System.Windows.Forms.Label();
|
|
base.SuspendLayout();
|
|
this.label1.AllowDrop = true;
|
|
this.label1.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
|
this.label1.AutoEllipsis = true;
|
|
this.label1.AutoSize = true;
|
|
this.label1.Font = new System.Drawing.Font("MS UI Gothic", 30f, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 128);
|
|
this.label1.ImageAlign = System.Drawing.ContentAlignment.BottomRight;
|
|
this.label1.Location = new System.Drawing.Point(1, 1);
|
|
this.label1.Margin = new System.Windows.Forms.Padding(0);
|
|
this.label1.Name = "label1";
|
|
this.label1.Size = new System.Drawing.Size(137, 40);
|
|
this.label1.TabIndex = 0;
|
|
this.label1.Text = "起動中";
|
|
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
|
this.label1.Visible = false;
|
|
this.label1.Click += new System.EventHandler(label1_Click);
|
|
base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 12f);
|
|
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
|
base.ClientSize = new System.Drawing.Size(1796, 646);
|
|
base.Controls.Add(this.label1);
|
|
base.Icon = (System.Drawing.Icon)resources.GetObject("$this.Icon");
|
|
base.Name = "Form2";
|
|
this.Text = "Form2";
|
|
base.WindowState = System.Windows.Forms.FormWindowState.Maximized;
|
|
base.FormClosing += new System.Windows.Forms.FormClosingEventHandler(Form2_FormClosing);
|
|
base.Load += new System.EventHandler(Form2_Load);
|
|
base.Click += new System.EventHandler(Form2_Click);
|
|
base.ResumeLayout(false);
|
|
base.PerformLayout();
|
|
}
|
|
}
|