c语言windows 编程下silder控件,C#编程之Slider控件使用

1 usingSystem;2 usingSystem.Collections.Generic;3 usingSystem.Linq;4 usingSystem.Text;5 usingSystem.Threading.Tasks;6 usingSystem.Windows;7 usingSystem.Windows.Controls;8 usingSystem.Windows.Data;9 usingSystem.Windows.Documents;10 usingSystem.Windows.Input;11 usingSystem.Windows.Media;12 usingSystem.Windows.Media.Imaging;13 usingSystem.Windows.Navigation;14 usingSystem.Windows.Shapes;15 using System.IO.Ports;//supported serial port

16 using System.Security.Cryptography;//supported security crypto

17 usingSystem.Threading;18 usingSystem.Windows.Threading;19

20 namespaceServoApp21 {22 ///

23 ///Interaction logic for MainWindow.xaml24 ///

25 public partial classMainWindow : Window26 {27 System.Timers.Timer myTimer = new System.Timers.Timer(50);28 SerialPort myPort = newSerialPort();29 boolmyPortCurrentStateOpen;30 stringstr_tmp;31 publicMainWindow()32 {33 InitializeComponent();34 //comboxs init

35 myComboxs();36 //receive routine

37 myPort.DataReceived +=DataReceived;38 myTimer.Elapsed += newSystem.Timers.ElapsedEventHandler(timer_Elapsed);39 myTimer.Enabled = true;40 }41 private void DataReceived(objectsender,SerialDataReceivedEventArgs e)42 {43 byte[] inbuf = new byte[4];44 try

45 {46 myPort.Read(inbuf, 0, inbuf.Length);47 string str =System.Text.Encoding.Default.GetString(inbuf);48 this.Dispatcher.Invoke(new Action(() =>

49 {50 myRX.Text =str;51 }));52 }53 catch(Exception ex)54 {55 MessageBox.Show(ex.Message);56 }57 }58 private void timer_Elapsed(objectsender, System.Timers.ElapsedEventArgs e)59 {60 try

61 {62 this.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() =>

63 {64 if (myPortCurrentStateOpen == true)65 {66 if (mySlider.IsEnabled == false)67 {68 myRX.IsReadOnly = true;69 myRX.IsEnabled = true;70 mySlider.IsEnabled = true;71 }72 if (str_tmp !=tblock.Text)73 {74 str_tmp =tblock.Text;75 myPort.Write(str_tmp);76 }77 }78 else

79 {80 myRX.IsEnabled = false;81 mySlider.IsEnabled = false;82 }83 }));84 }85 catch(Exception ex)86 {87 MessageBox.Show(ex.Message);88 }89 }90 private voidmyComboxs()91 {92 //Set COM items

93 myCOM.Items.Add("COM0");94 myCOM.Items.Add("COM1");95 myCOM.Items.Add("COM2");96 myCOM.Items.Add("COM3");97 myCOM.Items.Add("COM4");98 //default value

99 myCOM.SelectedIndex = myCOM.Items.IndexOf("COM1");100 //Set BRT items

101 myBaudRate.Items.Add("2400");102 myBaudRate.Items.Add("4800");103 myBaudRate.Items.Add("9600");104 myBaudRate.Items.Add("38400");105 myBaudRate.Items.Add("115200");106 //default value

107 myBaudRate.SelectedIndex = myBaudRate.Items.IndexOf("9600");108 myPortCurrentStateOpen = false;109 }110

111 private void open_Clk(objectsender, RoutedEventArgs e)112 {113 try

114 {115 if (myPortCurrentStateOpen == false)116 {117 if(myPort.IsOpen)118 {119 myPort.Close();120 }121 myPort.BaudRate = int.Parse(myBaudRate.Text);122 myPort.DataBits = 8;123 myPort.PortName =myCOM.Text;124 myPort.Open();125 myPortCurrentStateOpen = true;126 myBtn.Content = "Close";127 }128 else

129 {130 myPort.Close();131 myBtn.Content = "Open";132 mySlider.Value = 1500;133 myPortCurrentStateOpen = false;134 }135 }136 catch(Exception ex)137 {138 MessageBox.Show(ex.Message);139 }140 }141 }142 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值