using System; using System.Drawing; using System.Media; using System.Threading; using System.Windows.Forms; using UAS_MES_NEW.PublicMethod; namespace UAS_MES_NEW.CustomControl.RichText { public partial class RichTextAutoBottom : RichTextBox { Thread thread; string FileName = ""; public RichTextAutoBottom() { InitializeComponent(); thread = new Thread(PlaySound); TextChanged += RichTextBox_TextChange; } private void RichTextBox_TextChange(object sender, EventArgs e) { SelectionStart = Text.Length; ScrollToCaret(); } /// /// color设置AppendText的颜色 /// /// /// public void AppendText(string str, Color color) { SelectionColor = color; base.AppendText(str); //如果颜色是红色则进行提示音 if (color == Color.Red && Entity.SystemInf.CheckAudioEnable) { if(str.Contains("缺料")) FileName = Application.StartupPath + @"\Resources\Sound\缺料.wav"; else FileName = Application.StartupPath + @"\Resources\Sound\5185.wav"; thread.Start(); thread = new Thread(PlaySound); } else if (color == Color.Green && Entity.SystemInf.CheckAudioEnable) { //颜色是绿色,进行正确提示音 if (str.Contains("缺料")) FileName = Application.StartupPath + @"\Resources\Sound\缺料.wav"; else FileName = Application.StartupPath + @"\Resources\Sound\8378.wav"; thread.Start(); thread = new Thread(PlaySound); } else if (color == Color.Blue && Entity.SystemInf.CheckAudioEnable) { //颜色是绿色,进行正确提示音 FileName = Application.StartupPath + @"\Resources\Sound\4082.wav"; thread.Start(); thread = new Thread(PlaySound); } LogManager.DoLog(FindForm().Tag + str); } /// /// 提示错误信息清楚指定控件的值 /// /// /// /// public void AppendText(string str, Color color, Control ctl) { SelectionColor = color; base.AppendText(str); ctl.Text = ""; //如果颜色是红色则进行提示音 if (color == Color.Red && Entity.SystemInf.CheckAudioEnable) { if (str.Contains("缺料")) FileName = Application.StartupPath + @"\Resources\Sound\缺料.wav"; else FileName = Application.StartupPath + @"\Resources\Sound\采集失败.wav"; thread.Start(); thread = new Thread(PlaySound); } else if (color == Color.Green && Entity.SystemInf.CheckAudioEnable) { //颜色是绿色,进行正确提示音 if (str.Contains("缺料")) FileName = Application.StartupPath + @"\Resources\Sound\缺料.wav"; else FileName = Application.StartupPath + @"\Resources\Sound\采集正确.wav"; thread.Start(); thread = new Thread(PlaySound); } else if (color == Color.Blue && Entity.SystemInf.CheckAudioEnable) { //颜色是绿色,进行正确提示音 FileName = Application.StartupPath + @"\Resources\Sound\采集正确.wav"; thread.Start(); thread = new Thread(PlaySound); } LogManager.DoLog(FindForm().Tag + str); } private void PlaySound() { //要加载COM组件:Microsoft speech object Library if (!System.IO.File.Exists(FileName)) { return; } try { SoundPlayer player = new SoundPlayer(); player.SoundLocation = FileName; player.Load(); player.Play(); } catch (Exception e) { MessageBox.Show(e.Message); Entity.SystemInf.CheckAudioEnable = false; } } } }