Etape 10 : Mise à jour - des exemples de code Visual Studio c#
J’ai installé et frustrant appris à utiliser Visual c#.
Voici le code qui fait que les programmes de démonstration ahk font.
J’ai juste mis l’un extrait de code ci-dessous, consultez le fichier zip en bas pour des projets à part entière.
>>> commence sur la ligne suivante <<<---
using System ;
à l’aide de System.Collections.Generic ;
à l’aide de System.ComponentModel ;
using System.Data ;
à l’aide de System.Drawing ;
à l’aide de System.Linq ;
using System.Text ;
using System.Windows.Forms ;
using System.IO.Ports ;
à l’aide de System.Media ;
espace de noms SerialIO
{
partial class SerialIOform : forme
{
String [] PortNames = {} ;
int BaudRateDefault = 9600 ;
ParityDefault parité = Parity.None ;
int DataBitsDefault = 8 ;
StopBits StopBitsDefault = StopBits::One ;
Poignée de main HandshakeDefault = Handshake.None ;
bool RTSdefault = false ;
bool DTRdefault = false ;
const string MessagePortError = « Erreur d’ouverture de Port » ;
Créez un nouvel objet SerialPort avec les paramètres par défaut.
SerialPort IOport = new SerialPort() ;
Créer la minuterie pour faire des choses au démarrage
Minuterie DoItNow = nouveau Timer() ;
public SerialIOform()
{
InitializeComponent() ;
Définir le port par défaut et vérifiez s’il existe des ports
SerialIOPortSetup() ;
Minuterie d’installation
DoItNow.Interval = 500 ; Deux fois par seconde
DoItNow.Tick += new EventHandler(DoItNow_Tick) ;
}
Setup Defaults & liste déroulante
Private Sub SerialIOPortSetup()
{
PortNames = SerialPort.GetPortNames() ;
Si (PortNames.Length! = 0)
{
Ensemble de valeurs par défaut
IOport.PortName = PortNames [0] ;
IOport.BaudRate = BaudRateDefault ;
IOport.Parity = ParityDefault ;
IOport.DataBits = DataBitsDefault ;
IOport.StopBits = StopBitsDefault ;
IOport.Handshake = HandshakeDefault ;
IOport.RtsEnable = RTSdefault ;
IOport.DtrEnable = DTRdefault ;
Remplir la liste déroulante
SerialPortComboBox.Items.Clear() ;
SerialPortComboBox.Items.AddRange(PortNames) ;
SerialPortComboBox.SelectedIndex = 0 ;
MessagesLabel.Text = "" ;
StartButton.Text = « Démarrer » ;
}
d’autre
{
SerialPortComboBox.Items.Clear() ;
MessagesLabel.Text ne = "aucun port trouvé ! Se connecter & Appuyez sur Refresh";
StartButton.Text = « Actualiser » ;
}
}
' private void SerialIOform_Load (object sender, EventArgs e)
{
}
' private void SerialPortComboBox_SelectedIndexChanged (object sender, EventArgs e)
{
proche vieux port
Si (IOport.IsOpen)
IOport.Close() ;
la valeur port sélectionné
IOport.PortName = SerialPortComboBox.SelectedItem.ToString() ;
Vérifier le port valide
Essayez
{
IOport.Open() ;
MessagesLabel.Text = "" ; msg d’erreur clair vieux
}
attraper
{
MessagesLabel.Text = MessagePortError ;
}
Fermez-la donc il n’est pas ouvert quand ne rien faire,
Enregistre le problème lorsque port débranché
Si (IOport.IsOpen)
IOport.Close() ;
}
' private void StartButton_Click (object sender, EventArgs e)
{
Si (StartButton.Text == « Refresh »)
{
SerialIOPortSetup() ;
}
ElseIf (StartButton.Text == « Stop »)
{
Arrêter la minuterie
DoItNow.Stop() ;
IOport.Close() ;
StartButton.Text = « Démarrer » ;
}
else / / doit être « Start »
{
Si (IOport.IsOpen) / / ceinture de sécurité, le port doit être fermé
IOport.Close() ;
Vérifier port valide, il faut le faire encore une fois que le périphérique devrait être débranché
try {}
IOport.Open() ;
}
catch {}
MessagesLabel.Text = MessagePortError ;
retour ;
}
StartButton.Text = « Stop » ;
Port ouvert, minuteur pour faire des choses
DoItNow.Start() ;
}
}
void DoItNow_Tick (object sender, EventArgs e)
{
Arrêter la minuterie pendant l’événement de transformation
DoItNow.Stop() ;
La valeur d’entrée de cases à cocher paramètres IOport
DCDcheckBox.Checked = IOport.CDHolding ;
DSRcheckBox.Checked = IOport.DsrHolding ;
Un signal sonore si la valeur
Si (DCDbeepCheckBox.Checked & & DCDcheckBox.Checked)
SystemSounds.Asterisk.Play() ;
Si (DSRbeepCheckBox.Checked & & DSRcheckBox.Checked)
SystemSounds.Beep.Play() ;
Activer/désactiver si clin vérifié
Si (DTRblinkCheckBox.Checked)
DTRcheckBox.Checked = ! DTRcheckBox.Checked ;
Si (RTSblinkCheckBox.Checked)
RTScheckBox.Checked = ! RTScheckBox.Checked ;
IOport ensemble de paramètres de sortie
IOport.DtrEnable = DTRcheckBox.Checked ;
IOport.RtsEnable = RTScheckBox.Checked ;
Redémarrer la minuterie
DoItNow.Start() ;
}
' private void CancelButton_Click (object sender, EventArgs e)
{
Si (IOport.IsOpen)
IOport.Close() ;
se débarrasser des IOport??
sortie
SerialIOform.ActiveForm.Close() ;
}
' private void DCDbeepCheckBox_CheckedChanged (object sender, EventArgs e)
{
n’avez pas besoin de faire les choses, nous testons état activé ailleurs
}
' private void DSRbeepCheckBox_CheckedChanged (object sender, EventArgs e)
{
n’avez pas besoin de faire les choses, nous testons état activé ailleurs
}
' private void DTRblinkCheckBox_CheckedChanged (object sender, EventArgs e)
{
n’avez pas besoin de faire les choses, nous testons état activé ailleurs
}
' private void DTRBlinkCheckBox_CheckedChanged (object sender, EventArgs e)
Visual Studio a obtenu son nickers dans un noeud quand je l’ai renommé DTRBlink case à DTRblink
et réclame maintenant une version de DTRBlink. ???
{
n’avez pas besoin de faire les choses, nous testons état activé ailleurs
}
' private void RTSblinkCheckBox_CheckedChanged (object sender, EventArgs e)
{
n’avez pas besoin de faire les choses, nous testons état activé ailleurs
}
' private void DTRcheckBox_CheckedChanged (object sender, EventArgs e)
{
n’avez pas besoin de faire les choses, nous avons mis État ailleurs
}
' private void RTScheckBox_CheckedChanged (object sender, EventArgs e)
{
n’avez pas besoin de faire les choses, nous avons mis État ailleurs
}
//
//
} / / SerialIOForm
} / / Espace de noms SerialIO
>>> dernière ligne ci-dessus <<<---