C#序列未在设计中时的序列事件

C#序列未在设计中时的序列事件,c#,visual-studio,visual-studio-2015,serial-port,C#,Visual Studio,Visual Studio 2015,Serial Port,我在代码中添加了以下内容: namespace uartToCs_version_2._0 { public partial class formMain : Form { ==> public static SerialPort serial = new SerialPort(); 但是我没有使用“设计”选项卡,所以我应该如何处理事件(使用当前设置,我也可以在其他形式中使用它,这是否仍然可行)? 您可以在任何方法(如Load()或构造函数)中注册事件。我使用了下

我在代码中添加了以下内容:

namespace uartToCs_version_2._0
{
    public partial class formMain : Form
    {
    ==> public static SerialPort serial = new SerialPort();
但是我没有使用“设计”选项卡,所以我应该如何处理事件(使用当前设置,我也可以在其他形式中使用它,这是否仍然可行)?

您可以在任何方法(如Load()或构造函数)中注册事件。我使用了下面的构造函数。在设置所有必需的属性之前,无法注册事件。我没有显示设置代码

   public partial class Form1 : Form
    {
        public static SerialPort serial = new SerialPort();
        public Form1()
        {
            InitializeComponent();

            serial.DataReceived += new SerialDataReceivedEventHandler(serial_DataReceived);
        }


        private void serial_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
        }

    }

可以在任何方法(如Load()或构造函数)中注册事件。我使用了下面的构造函数。在设置所有必需的属性之前,无法注册事件。我没有显示设置代码

   public partial class Form1 : Form
    {
        public static SerialPort serial = new SerialPort();
        public Form1()
        {
            InitializeComponent();

            serial.DataReceived += new SerialDataReceivedEventHandler(serial_DataReceived);
        }


        private void serial_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
        }

    }

感谢您的快速回复感谢您的快速回复Regard serial是静态的,因此在FormColosed事件中,为GCRemove serial_DataReceived event for gcwhy is needed?如果serial是静态的,当设置为null或退出应用程序时,GC将收集它。当Form1实例关闭时,Form1实例可能未被GC收集,因为Form1.serial处于活动状态,而Form1.serial.DataReceived通过exec Form1.serial.DataReceived+=serial_DataReceived.Aspect serial是静态的,因此在FormColosed事件中,删除GCU的serial_DataReceived事件为什么需要这样做?如果serial是静态的,当它设置为null或应用程序退出时,GC将收集它。当Form1实例关闭时,Form1实例可能未被GC收集,因为Form1.serial处于活动状态,而Form1.serial.DataReceived通过exec Form1.serial.DataReceived+=serial\U DataReceived.Probable Duplication的可能重复引用Form1实例