ты половину кода выкинул?
Да нет, не выкидывал. Только запостил код файла Form1.cs
Весь проект состоит из 2 файлов : Form1.cs и Programm.cs
Вот их полные листинги :
Programm.cs#region Using directives
using System;
using System.Collections.Generic;
using System.Windows.Forms;
#endregion
namespace SerialTest
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.EnableRTLMirroring();
Application.Run(new Form1());
}
}
}
Form1.cs#region Using directives
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using System.IO.Ports;
#endregion
namespace SerialTest
{
partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (serialPort1.IsOpen)
{
serialPort1.Close();
serialPort1.PortName = "COM1";
}
else
{
serialPort1.PortName = "COM1";
serialPort1.Open();
if (serialPort1.IsOpen)
{
label1.Text = "COM1 Port : port is opened successfully!";
}
else
{
label1.Text = "COM1 Port : impossible to open port!";
}
}
}
private void button2_Click(object sender, EventArgs e)
{
serialPort1.Close();
label1.Text = "COM1 Port : port successfully closed!";
}
private void serialPort1_ReceivedEvent(object sender, System.IO.Ports.SerialReceivedEventArgs e)
{
string data = serialPort1.ReadLine(); // Вот тут вылетает эксепшн
label2.Text = data;
}
}
}
как ты присобачиваешь функцию serialPort1_ReceivedEvent к serialPort1?
Юзаю Visual Studio 2005 Beta1. Там на вкладке Components есть стандартный компонент SerialPort. Кидаю его на форму и в его эвенте ReceivedEvent создаю private void serialPort1_ReceivedEvent(object sender, System.IO.Ports.SerialReceivedEventArgs e)
этот эксепшн постоянно вылетает или иногда?
Всегда, когда срабатывает serialPort1_ReceivedEvent