/* * peforms initial setup and makes sure that there is a valid device connected */ private void Form1_Load(object sender, EventArgs e) { varHolder = new Variables(); running = true; this.textDelegate = new SetTextDelegate(DisplayMessage); this.myDelegate_button = new AddDataDelegate_button(setButtonLEDText); this.serialDelegate = new setSerialDelegate(setSerial); this.firmwrDelegate = new setFirmwrDelegate(setFirmware); this.timeDelegate = new setTimeDelegate(setTime); this.listBoxDelegate = new addListBoxDelegate(setListBox); if (setPort()) { //try to establish a connection serialPort1.WriteLine(STATE); //get the state of the LED serialPort1.WriteLine(INFO); //get the serial number and firmware serialPort1.WriteLine(GETTIME); //get the time from the board serialPort1.WriteLine(GETVARS); //get the variables from the running program //start new thread to handle periodically getting the time Thread timeThread = new Thread(new ThreadStart(this.startTimeThread)); timeThread.IsBackground = true; timeThread.Start(); } else { MessageBox.Show("No device detected" + "\n", "Load Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Close(); } }
public VisualEnvironmentCompiler(InvokeDegegate beginInvoke, SetFlagDelegate setCompilingButtonsEnabled, SetFlagDelegate setCompilingDebugEnabled, SetTextDelegate setStateText, SetTextDelegate addTextToCompilerMessages, ToolStripMenuItem pluginsMenuItem, ToolStrip pluginsToolStrip, ExecuteSourceLocationActionDelegate ExecuteSLAction, ExecuteVisualEnvironmentCompilerActionDelegate ExecuteVECAction, PascalABCCompiler.Errors.ErrorsStrategyManager ErrorsManager, RunManager RunnerManager, DebugHelper DebugHelper, UserOptions UserOptions, System.Collections.Hashtable StandartDirectories, Dictionary <string, CodeFileDocumentControl> OpenDocuments, IWorkbench workbench) { this.StandartDirectories = StandartDirectories; this.ErrorsManager = ErrorsManager; this.ChangeVisualEnvironmentState += new ChangeVisualEnvironmentStateDelegate(onChangeVisualEnvironmentState); SetCompilingButtonsEnabled = setCompilingButtonsEnabled; SetDebugButtonsEnabled = setCompilingDebugEnabled; SetStateText = setStateText; AddTextToCompilerMessages = addTextToCompilerMessages; this.beginInvoke = beginInvoke; this.ExecuteSLAction = ExecuteSLAction; this.ExecuteVECAction = ExecuteVECAction; PluginsMenuItem = pluginsMenuItem; PluginsToolStrip = pluginsToolStrip; PluginsController = new VisualPascalABCPlugins.PluginsController(this, PluginsMenuItem, PluginsToolStrip, workbench); this.RunnerManager = RunnerManager; this.DebugHelper = DebugHelper; DebugHelper.Starting += new DebugHelper.DebugHelperActionDelegate(DebugHelper_Starting); DebugHelper.Exited += new DebugHelper.DebugHelperActionDelegate(DebugHelper_Exited); RunnerManager.Starting += new RunManager.RunnerManagerActionDelegate(RunnerManager_Starting); RunnerManager.Exited += new RunManager.RunnerManagerActionDelegate(RunnerManager_Exited); this.CodeCompletionParserController = WorkbenchServiceFactory.CodeCompletionParserController; this.CodeCompletionParserController.visualEnvironmentCompiler = this; this.UserOptions = UserOptions; this.OpenDocuments = OpenDocuments; }
/// <summary> /// Sets the 'Text' property of a given control. /// </summary> /// <param name="ctrl">The System.Windows.Forms.Control object whose text property will be set.</param> /// <param name="text">The text to be assigned to the property.</param> public static void SetText(Control ctrl, string text, bool appendIt) { if (ctrl.InvokeRequired) { SetTextDelegate del = new SetTextDelegate(CrossThreadUI.SetText); if (CrossThreadUI.ExecSync) { ctrl.Invoke(del, ctrl, text, appendIt); } else { ctrl.BeginInvoke(del, ctrl, text, appendIt); } } else { if (appendIt) { ctrl.Text = ctrl.Text + text; } else { ctrl.Text = text; } } }
// 命令执行结束后的委托方法 private void CMDProgressOver(string text) { if (this.txtBoxLog.InvokeRequired) { while (!this.txtBoxLog.IsHandleCreated) { if (this.txtBoxLog.Disposing || this.txtBoxLog.IsDisposed) { return; } } SetTextDelegate d = new SetTextDelegate(CMDProgressOver); this.txtBoxLog.Invoke(d, new object[] { text }); } else { this.txtBoxLog.AppendText(text); // 顺便设置btn btnStart.Enabled = true; // 顺便阻塞线程,并且设置进度条为满 if (progressThread.IsAlive) { progressThread.Abort(); } progressBar1.Value = 100; // 设置状态栏 tbState.Text = "Ready"; } }
public VisualEnvironmentCompiler(InvokeDegegate beginInvoke, SetFlagDelegate setCompilingButtonsEnabled, SetFlagDelegate setCompilingDebugEnabled, SetTextDelegate setStateText, SetTextDelegate addTextToCompilerMessages, ToolStripMenuItem pluginsMenuItem, ToolStrip pluginsToolStrip, ExecuteSourceLocationActionDelegate ExecuteSLAction, ExecuteVisualEnvironmentCompilerActionDelegate ExecuteVECAction, PascalABCCompiler.Errors.ErrorsStrategyManager ErrorsManager, RunManager RunnerManager, DebugHelper DebugHelper,UserOptions UserOptions,System.Collections.Hashtable StandartDirectories, Dictionary<string, CodeFileDocumentControl> OpenDocuments, IWorkbench workbench) { this.StandartDirectories = StandartDirectories; this.ErrorsManager = ErrorsManager; this.ChangeVisualEnvironmentState += new ChangeVisualEnvironmentStateDelegate(onChangeVisualEnvironmentState); SetCompilingButtonsEnabled = setCompilingButtonsEnabled; SetDebugButtonsEnabled = setCompilingDebugEnabled; SetStateText = setStateText; AddTextToCompilerMessages = addTextToCompilerMessages; this.beginInvoke = beginInvoke; this.ExecuteSLAction=ExecuteSLAction; this.ExecuteVECAction = ExecuteVECAction; PluginsMenuItem = pluginsMenuItem; PluginsToolStrip = pluginsToolStrip; PluginsController = new VisualPascalABCPlugins.PluginsController(this, PluginsMenuItem, PluginsToolStrip, workbench); this.RunnerManager = RunnerManager; this.DebugHelper = DebugHelper; DebugHelper.Starting += new DebugHelper.DebugHelperActionDelegate(DebugHelper_Starting); DebugHelper.Exited += new DebugHelper.DebugHelperActionDelegate(DebugHelper_Exited); RunnerManager.Starting += new RunManager.RunnerManagerActionDelegate(RunnerManager_Starting); RunnerManager.Exited += new RunManager.RunnerManagerActionDelegate(RunnerManager_Exited); this.CodeCompletionParserController = WorkbenchServiceFactory.CodeCompletionParserController; this.CodeCompletionParserController.visualEnvironmentCompiler = this; this.UserOptions = UserOptions; this.OpenDocuments = OpenDocuments; }
private void SetRecordText(string record, Control con) { if (con.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(SetRecordText); this.Invoke(d, record, con); } else { if (record == null) { con.Text = string.Empty; btnClearScanRecord.Enabled = false; btnReturn.Enabled = false; } else { if (record == "CNM") { con.Text = "查询"; btnClearScanRecord.Enabled = true; btnReturn.Enabled = true; } else { con.Text += record + "\r\n"; } } } }
//metodo eseguito al click sul pulsante connetti private void btnConnect_Click(object sender, EventArgs e) { //vengono memorizzati il nome utente e //viene aggiornata la casella di testo _userName = txtUserName.Text.Trim(); _setText = SetText; //viene creato e riempito un pacchetto di richiesta di join alla chat Packet sendData = new Packet(); sendData.DataIdentifier = DataTypeIdentifier.Login; sendData.UserName = _userName; //viene creato un Socket UDP _clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); //viene creato un oggetto contenente l'indirizzo IP e la porta del server IPAddress serverIP = IPAddress.Parse(txtServerAddress.Text); int serverPort = int.Parse(txtServerPort.Text); _epServer = new IPEndPoint(serverIP, serverPort); //il pacchetto creato viene convertito in un'array di byte _dataStream = sendData.ToByteArray(); //il pacchetto creato viene spedito al server _clientSocket.BeginSendTo(_dataStream, 0, _dataStream.Length, SocketFlags.None, _epServer, SendData, null); //tutti gli oggetti vengono sempre passati per referenza //il client si mette ora in ascolto dei messaggi provenienti dal server EndPoint ep = _epServer; _dataStream = new byte[Properties.Settings.Default.MAX_PACKET_LENGTH]; _clientSocket.BeginReceiveFrom(_dataStream, 0, _dataStream.Length, SocketFlags.None, ref ep, ReceiveData, null); }
private void SetText(string pText, TextBox pTbx) { try { if (this.InvokeRequired == false) { if (string.IsNullOrEmpty(pTbx.Text)) { pTbx.Text = pText; } else { pTbx.Text += Environment.NewLine + pText; } } else { SetTextDelegate std = new SetTextDelegate(this.SetText); this.Invoke(std, pText, pTbx); } } catch (Exception e) { throw e; } }
public ConsoleOut() { base.Multiline = true; base.ScrollBars = ScrollBars.Vertical; base.ReadOnly = true; base.WordWrap = true; base.Font = new System.Drawing.Font("Lucida Console", 10); setTextDelegate = new SetTextDelegate(SetText); }
public void SetText(string text) { if (control.IsDisposed) return; if (control.InvokeRequired) { SetTextDelegate del = new SetTextDelegate(SetText); control.Invoke(del, new object[] { text }); } else control.Text = text; }
private void onVersion(string version) { logD("Got platform version: " + version); SetTextDelegate setVersionD = delegate(Label label, string text) { label.Text = text; }; Invoke(setVersionD, new object[] { versionLabel, version }); }
public Console() { InitializeComponent(); _output = new SetTextDelegate(OnPrint); _error = new SetTextDelegate(OnError); _setIP = new SetTextDelegate(OnSetIP); _setPort = new SetTextDelegate(OnSetPort); _sendAr.SetData(new byte[1024], 1024); }
public void ChallengeFinish() { if (count < 3) { CoinText += LessCoins; } else if (count == 2) { CoinText += LastOneCoin; } }
public static void SetText(Form f, Control ctrl, string text) { if (ctrl.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(SetText); f.Invoke(d, new object[] { f, ctrl, text }); } else { ctrl.Text = text; } }
private void SetText(Control c, string text) { if (c.InvokeRequired) { var d = new SetTextDelegate(SetText); this.Invoke(d, new object[] { c, text }); } else { c.Text = text; } }
void StatusTextSet(string text) { if (labelStatusText.InvokeRequired) { var d = new SetTextDelegate(StatusTextSet); labelStatusText.Invoke(d, new object[] { text }); } else { labelStatusText.Text = text; } }
private void SetText(string str) { if (this.InvokeRequired) { var invoke = new SetTextDelegate(SetText); this.Invoke(invoke, new object[] { str }); } else { this.Text = str; } }
internal void SetRowCount(int count) { if (this.InvokeRequired) { SetTextDelegate del = new SetTextDelegate(SetRowStatus); this.Invoke(del, new object[] { count }); } else { this.listView1.Items[row].SubItems[3].Text = count.ToString(); } }
internal void SetRowStatus(string s) { if (this.InvokeRequired) { SetTextDelegate del = new SetTextDelegate(SetRowStatus); this.Invoke(del, new object[] { s }); } else { this.listView1.Items[row].SubItems[5].Text = s; } }
private void printText(string text) { if (this.textBox_recevied.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(printText); this.Invoke(d, new object[] { text }); } else { this.textBox_recevied.Text += text; } }
public void set_drukarka2(string text) { if (drukarka2.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(set_drukarka2); this.Invoke(d, new object[] { text }); } else { this.drukarka2.AppendText(text + "\n"); } }
private void ToggleListeningButtonSetText(string text) { if (buttonToggleListening.InvokeRequired) { var d = new SetTextDelegate(ToggleListeningButtonSetText); buttonToggleListening.Invoke(d, new object[] { text }); } else { buttonToggleListening.Text = text; } }
public void SetText(string text) { if (this.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(SetText); this.Invoke(d, new object[] { text }); } else { label_text.Text = text; } }
//Function to set text safely private void SetText(string text) { if (this.Label_Timer.InvokeRequired) { SetTextDelegate Delegate = new SetTextDelegate(SetText); this.Invoke(Delegate, new object[] { text }); } else { this.Label_Timer.Text = text; } }
public void SetText(string text) { if (fp.lblArticle.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(SetText); fp.lblArticle.Invoke(d, new object[] { text }); } else { fp.lblArticle.Text = text; } }
/*logger*/ public void SetText(string text) { if (logger.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(SetText); this.Invoke(d, new object[] { text }); } else { this.logger.AppendText("[" + DateTime.Now.ToString("HH:mm:ss tt") + "] " + text + "\n"); } }
private void SetText(string text) { if (this.txtDuration.InvokeRequired) { SetTextDelegate txtDelegate = new SetTextDelegate(SetText); this.Invoke(txtDelegate, new object[] { text }); } else { this.txtDuration.Text = text; } }
/// <summary> /// 向 rtf 中添加聊天記錄 /// </summary> /// <param name="message"></param> public void SetText(string name) { if (this.rtf_MessageInfo.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(SetText); this.Invoke(d, new object[] { name }); } else { this.Text = name; } }
private void SetLabelText_ThreadSafe(Label label, string text) { if (label.InvokeRequired) { var d = new SetTextDelegate(SetLabelText_ThreadSafe); Invoke(d, new object[] { label, text }); } else { label.Text = text; } }
public static void SetText(Control ctrl, string text) { if (ctrl.InvokeRequired) { SetTextDelegate del = new SetTextDelegate(SetText); ctrl.Invoke(del, ctrl, text); } else { ctrl.Text = text; } }
/// <summary> /// 初始化线程安全类 /// </summary> /// <param name="ctrl">需要进行线程安全的控件</param> public ThreadSafeSetter(Control ctrl) { target = ctrl; setText = SetText; setAppendText = SetAppendText; getText = GetText; add = Add; remove = Remove; removeAll = RemoveAll; setEnabled = SetEnabled; getEnabled = GetEnabled; getSelectedItem = GetSelectedItem; }
private void SetText(string text) { //InvokeRequired比较线程ID以及创建控件的线程ID,如果不同返回true if (this.CountertBox1.InvokeRequired) { SetTextDelegate d = new SetTextDelegate(SetText); this.Invoke(d, new object[] { text }); } else { this.CountertBox1.Text = text; } }
private void setTextBox(TextBox tBox, object o) { if (tBox.Dispatcher.CheckAccess()) { // ok, set Text directly tBox.Text += o.ToString() + "-t" + Thread.CurrentThread.ManagedThreadId + " "; } else { // call BeginInvoke om window Delegate del = new SetTextDelegate(setTextBox); this.Dispatcher.BeginInvoke(del, tBox, o); } }
// These public methods call methods on the Form that must be done on // the same thread that the form was created on therefore we must marshal // the calls. // We'll do this by using Form.Invoke (which is OK to call from another thread). public void DisplayText(string str) { if (InvokeRequired) { Delegate setTextDelegate = new SetTextDelegate(SetPrinterOutputText); object[] args = new object[1]; args[0] = ProcessEscapes(str); this.Invoke(setTextDelegate, args); } else { SetPrinterOutputText(ProcessEscapes(str)); } }
private void InitData() { //_client= new TcpClient(); addMessage =new AddMessageDelegate(AddMessageInvoke); updateDataSource=new UpdateDataSourceDelegate(UpdateClientListInvoke); addStatusMessage=new AddMessageDelegate(AddStatusMessageInvoke); setControlEnable= new SetControlEnableDelegate(SetControlEnableInvoke); //clearText=new ClearTextDelegate(ClearTextInvoke); setText =new SetTextDelegate(SetTextInvoke); }
private void InitData() { listBoxClientList.SelectionMode=SelectionMode.MultiSimple; numericUpDownPort.Maximum = 9999; numericUpDownPort.Value = 2016; numericUpDownPort.Minimum = 1; addMessage = new AddMessageDelegate(AddMessageInvoke); addMessageToControl=new AddMessageToControlDelegate(AddMessageToControlInvoke); updateDataSource = new UpdateDataSourceDelegate(UpdateClientListInvoke); setText = new SetTextDelegate(SetTextInvoke); listBoxClientList.DataSource = _dicClient.Keys.ToList(); }
//metodo eseguito al caricamento della finestra private void frmServerUDP_Load(object sender, EventArgs e) { _setText = AppendTextToLog; //definizione di puntatore a funzione fortemente tipizzato //il programma necessita di un socket e di //una lista dei client che fanno il log-ing _clientList = new List<Client>(); //dichiarazione lista client loggati _dataStream = new byte[MAX_PACKET_LENGTH]; //viene stabilita la massima dimensione del pacchetto //il costruttore della classe Socket è simile al C++ _serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); //IPAddress.Any sta a indicare qualsiasi indirizzo IP IPEndPoint server = new IPEndPoint(IPAddress.Any, DEFAULT_SERVER_PORT); _serverSocket.Bind(server); //viene associato l'EndPoint al Socket //oggetto contenente ip e porta del mittente durante la ricezione di un pacchetto EndPoint epSender = new IPEndPoint(IPAddress.Any, 0); //occorre lanciare un thread che rimane in ascolto //si ricorre al funzionamento asincrono dei socket, per evitare //che il programma rimanga bloccato sull'istruzione bloccante //parametri del metodo BeginReceiveFrom simili a quelli del metodo recvfrom() del C: //1- byte[] buffer //2- int offset => indice di partenza, da cui iniziare a scrivere //3- int size => dimensione del buffer, potrebbe anche essere settato con // la costante MAX_PACKET_LENGHT ma è meglio determinare la dimensione dal vettore //4- SocketFlags socketFlags //5- ref EndPoint remoteEP //6- AsyncCallback callback => funzione che viene chiamata appena nel socket è disponibile un pacchetto //7- object state //la chiamata implementata è simile ai socket UNIX (_serverSocket.ReceiveFrom()) //in aggiunta alle normali chiamate abbiamo la BeginReceiveFrom(), che è una chiamata asincrona //in C con void* vengono anche indicati i puntatori a funzioni //in realtà ogni oggetto viene passato per referenza //solitamente le struct vengono passate per valore, le classi invece per riferimento //anche il vettore dataStream viene passato per riferimento _serverSocket.BeginReceiveFrom(_dataStream, 0, _dataStream.Length, SocketFlags.None, ref epSender, ReceiveData, epSender); //in C# esiste il problema del multithreading sugli oggetti grafici //AppendTextToLog(sendDataPacket.Message); //questa istruzione manderebbe in errore il programma //Invoke è un metodo della form che consente di eseguire la funzione puntata da un Delegate //Invoke(_setText, sendDataPacket.Message); }
public void SetDelegates(GetTextDelegate getFunction, SetTextDelegate setFunction, GetBreakPointsDelegate breakpointFunction) { m_GetSourceCode = getFunction; m_SetSourceCode = setFunction; m_GetBreakPoints = breakpointFunction; }
private void SetText(Object obj, string text) { string type = obj.GetType().Name; if (type.Equals("ListBox")) { if (((ListBox)obj).InvokeRequired) { var d = new SetTextDelegate(SetText); Invoke(d, new object[] { obj, text }); } else { ((ListBox)obj).Items.Add(text); } } else if (type.Equals("Label")) { if (((Label)obj).InvokeRequired) { var d = new SetTextDelegate(SetText); Invoke(d, new object[] { obj, text }); } else { ((Label)obj).Text = text; } } }
/// <summary> /// Constructor. /// </summary> /// <param name="hliForm">The HLIForm instance that uses this internal form.</param> public HliInternalForm(HliForm hliForm) { // // Required for Windows Form Designer support // InitializeComponent(); this.hliForm = hliForm; // Create the handlers used by other threads in an Invoke call. this.closeHandler = new CloseDelegate(HandleClose); this.showAndContinueHandler = new ShowAndContinueDelegate(HandleShowAndContinue); this.setStopButtonTextHandler = new SetStopButtonTextDelegate(HandleSetStopButtonText); this.setTextHandler = new SetTextDelegate(HandleSetText); lock(hliForm.LockObject) { this.isAvailable = true; } }
/// <summary> /// Sets the 'Text' property of a given control. /// </summary> /// <param name="ctrl">The System.Windows.Forms.Control object whose text property will be set.</param> /// <param name="text">The text to be assigned to the property.</param> public static void SetText(Control ctrl, string text) { if (ctrl.InvokeRequired) { SetTextDelegate del = new SetTextDelegate(CrossThreadUI.SetText); if (CrossThreadUI.ExecSync) ctrl.Invoke(del, ctrl, text); else ctrl.BeginInvoke(del, ctrl, text); } else ctrl.Text = text; }