WPF中的串口通信
在查WPF的串口通信中的方法中,找到这样一句话,这是什么意思呢?delegatevoidHandleInterfaceUpdateDelagate(stringtext)...
在查WPF的串口通信中的方法中,找到这样一句话,这是什么意思呢?
delegate void HandleInterfaceUpdateDelagate(string text);//委托;此为重点
HandleInterfaceUpdateDelagate interfaceUpdateHandle;
在c#中进行串口通信时,使用了timer和serialPort控件,为什么WPF中就不需要使用这些控件了呢 展开
delegate void HandleInterfaceUpdateDelagate(string text);//委托;此为重点
HandleInterfaceUpdateDelagate interfaceUpdateHandle;
在c#中进行串口通信时,使用了timer和serialPort控件,为什么WPF中就不需要使用这些控件了呢 展开
1个回答
展开全部
1)在wpf程序中,不能使用原来winform下提供的serialport控件了。这是因为wcf中的控件与winform中控件的工作原理完全不一样。
2)在wpf中,虽然不能再用serialport控件,但是,却仍然可以使用在xmal后台cs中使用serialport对象。例如:
using System.IO.Ports;
namespace WpfCommand
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
SerialPort port;
public MainWindow()
{
InitializeComponent();
//初始化串口
port = new SerialPort("COM1", 9600, Parity.None, 8);
//事件处理
port.DataReceived += port_DataReceived;
}
void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//
}
}
}
3)如果要在wpf中使用定时器,计算超时,可以使用using System.Timers.Timer
using System.IO.Ports;
namespace WpfCommand
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
SerialPort port;
System.Timers.Timer timer;
public MainWindow()
{
InitializeComponent();
port = new SerialPort("COM1", 9600, Parity.None, 8);
port.DataReceived += port_DataReceived;
//定时器
timer = new System.Timers.Timer();
timer.Elapsed += timer_Elapsed;
}
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//
}
void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询