tanliem653 Ответов: 1

Как использовать withevents в C#


всем привет,
Я нахожу код от
Sigurd Johansen
говорить о
Связь по последовательному порту в NET 2.0

Система Импорта
Система Импорта.ИО.Порты

Форма Публичного Класса 1
Дим Ключевое Слово Withevents Порт, Последовательный Порт = _
Новый SerialPort ("COM1", 9600, четность.Нет, 8, Стопбиты. Один)
Private Sub btnSendText_Click(ByVal sender As System.Объект, _
Бывал е как система.EventArgs) обрабатывает btnSendText. Click
Порт.Открыть()
Порт.Писать(txtSendText.Текст &"!%")
Порт.Рядом()
Конец Подводной Лодки
Конец Класса

Я хочу написать его на C# asp.net. Кто-нибудь может мне помочь.
спасибо.

Что я уже пробовал:

Imports System
Imports System.IO.Ports

Public Class Form1
Dim WithEvents Port As SerialPort = _
New SerialPort("COM1", 9600, Parity.None, 8, StopBits.One)
Private Sub btnSendText_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSendText.Click
Port.Open()
Port.Write(txtSendText.Text & "!%")
Port.Close()
End Sub
End Class

[no name]

К вашему сведению, код "что я пробовал" такой же, как и код, который вы нашли, и является нет Код C# вообще.

1 Ответов

Рейтинг:
12

Mehedi Shams

Привет танлием653,

Нет никакой необходимости в эквиваленте WithEvents в этом случае. Эквивалент C# - это:

using System.Windows.Forms;
using System.IO.Ports;

public partial class Form1 : Form
{
    SerialPort Port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);

    private void btnSendText_Click(object sender, EventArgs e)
    {
        Port.Open();
        Port.Write(txtSendText.Text + "!%");
        Port.Close();
    }
}
На самом деле в этом случае VB.NET код не нужен WithEvents любой. Это необходимо только в том случае, если есть необходимость добавить пользовательский обработчик событий.:
Private Sub MyPortAction(sender As Object, e As EventArgs) Handles Port.Disposed
......
......
End Sub