using System; using System.ComponentModel; using System.Drawing; using System.Speech.Synthesis; using System.Windows.Forms; namespace ControlApp; public class CustomMessage : Form { private string msg; private string btn; private int time; private bool ttspeech; private Timer tmr; private IContainer components; private Label label1; private Button button1; public CustomMessage(string message, string button, int timeopen, bool tts) { InitializeComponent(); msg = message; btn = button; ttspeech = tts; time = timeopen; } private void button1_Click(object sender, EventArgs e) { Close(); } private void CustomMessage_Load(object sender, EventArgs e) { if (ttspeech) { base.Opacity = 0.0; SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer(); speechSynthesizer.SetOutputToDefaultAudioDevice(); speechSynthesizer.Speak(msg); speechSynthesizer.Dispose(); try { Close(); return; } catch { return; } } label1.Text = msg; if (btn != "") { button1.Text = btn; } if (time != 0) { tmr = new Timer(); tmr.Tick += delegate { Close(); }; tmr.Interval = (int)TimeSpan.FromSeconds(time).TotalMilliseconds; tmr.Start(); } } protected override void Dispose(bool disposing) { if (disposing && components != null) { components.Dispose(); } base.Dispose(disposing); } private void InitializeComponent() { this.label1 = new System.Windows.Forms.Label(); this.button1 = new System.Windows.Forms.Button(); base.SuspendLayout(); this.label1.AutoSize = true; this.label1.Font = new System.Drawing.Font("Segoe UI", 25f, System.Drawing.FontStyle.Bold); this.label1.Location = new System.Drawing.Point(32, 79); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(117, 46); this.label1.TabIndex = 0; this.label1.Text = "label1"; this.button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right; this.button1.AutoSize = true; this.button1.Location = new System.Drawing.Point(251, 177); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 25); this.button1.TabIndex = 1; this.button1.Text = "Close"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(button1_Click); base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f); base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoSize = true; base.ClientSize = new System.Drawing.Size(563, 214); base.ControlBox = false; base.Controls.Add(this.button1); base.Controls.Add(this.label1); base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; base.Name = "CustomMessage"; this.Text = "CustomMessage"; base.TopMost = true; base.Load += new System.EventHandler(CustomMessage_Load); base.ResumeLayout(false); base.PerformLayout(); } }