/// <summary> /// Ajoute les méthodes au objets /// </summary> private void Init_Méthode_Lié_au_objet() { //Lié textbox ensemble TTextBox.Lier_ratio_entre_2textbox(this.Tb_multinivmax, this.Tb_multinivmax_Pour); TTextBox.Lier_ratio_entre_2textbox(this.Tb_multinivmin, this.Tb_multinivmin_Pour); TTextBox.Lier_ratio_entre_2textbox(this.Tb_val_tri_init, this.Tb_val_tri_init_Pour); //Gestion nouvelle donné this.Tb_val_tri_init.Validated += new EventHandler(Nouvelle_donné); this.Tb_multinivmax.Validated += new EventHandler(Nouvelle_donné); this.Tb_multinivmin.Validated += new EventHandler(Nouvelle_donné); this.Chb_inv_bras.CheckedChanged += new EventHandler(Nouvelle_donné); this.Cmb_sens_tri.SelectedIndexChanged += new EventHandler(Nouvelle_donné); this.Cmb_cons_Bras.SelectedIndexChanged += new EventHandler(Nouvelle_donné); this.Gb_Principal.VisibleChanged += new EventHandler(Nouvelle_donné); //Gestion en cas de proximité d'init des limites this.Tb_multinivmax.Validated += new EventHandler(this.Test_proxi_change_sens_bt); this.Tb_multinivmin.Validated += new EventHandler(this.Test_proxi_change_sens_bt); this.Tb_val_tri_init.Validated += new EventHandler(this.Test_proxi_change_sens_bt); this.Cmb_sens_tri.SelectedIndexChanged += new EventHandler(this.Test_proxi_change_sens_bt); //méthode maj min et max this.Tb_multinivmax_Pour.Validated += new EventHandler(this.minmax_local_de_init_change); this.Tb_multinivmin_Pour.Validated += new EventHandler(this.minmax_local_de_init_change); //Gestion en cas de changement de taille this.Gb_Principal.Resize += new EventHandler(this.Gb_Déplacement_Resize); }
private void Init_Textbox_et_label(int xpos, int ypos) { int xpos2 = xpos + 124; int xpos3 = xpos + 165; int xpos4 = xpos + 210; int lypos = 3; this.L_titre_étalonnage = new LLabel("L_titre_étalonnage", xpos, ypos + lypos, "Étalonnage") { Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))) }; this.L_entete_Mesure = new LLabel("L_entete_Mesure", xpos2, ypos + lypos, "Valeurs"); this.L_entete_10Bits = new LLabel("L_entete_10Bits", xpos3, ypos + lypos, "10Bits"); ypos += 21; this.L_valeur_étatlonage_max = new LLabel("L_valeur_étatlonage_max", xpos, ypos + lypos, "Max possible en entrée :"); this.Tb_valeur_étalonnage_max = new TTextBox("tb_valeur_étalonnage_max", xpos2, ypos, "30"); this.Tb_valeur_étalonnage_max_10bits = new TTextBox("tb_valeur_étalonnage_max_10bits", xpos3, ypos, "1023", 0, 1023, 1); ypos += 21; this.L_valeur_étatlonage_min = new LLabel("L_valeur_étatlonage_min", xpos, ypos + lypos, "min possible en entrée :"); this.Tb_valeur_étalonnage_min = new TTextBox("Tb_valeur_étalonnage_min", xpos2, ypos, "-30"); this.Tb_valeur_étalonnage_min_10bits = new TTextBox("Tb_valeur_étalonnage_min_10bits", xpos3, ypos, "0", 0, 1023, 1); ypos += 21; ypos = this.Init_objet_dépassement_seuil(xpos, xpos2, xpos3, xpos4, ypos); ypos = this.Init_objet_mesure(xpos, xpos2, xpos3, xpos4, ypos); this.L_can_quantum = new LLabel("L_can_quantum", xpos, ypos, "TODO"); }
/// <summary> /// Ajoute les méthodes aux objets /// </summary> private void Init_Lier_méthodes_aux_objets() { for (int i = 0; i < 8; i++) { TTextBox.Lier_ratio_entre_2textbox(this.Li_détection_valeur[i], this.Li_détection_valeur_10bits[i]); Li_détection_valeur_validé[i].CheckedChanged += new EventHandler(Active_les_textboxlié_chb_changed); if (i < this.Li_mesure.Count) { TTextBox.Lier_ratio_entre_2textbox(this.Li_mesure[i], this.Li_mesure_10bits[i]); } } }
/// <summary> /// Met en place les méthodes des objets /// </summary> private void Init_Lier_méthodes_aux_objets() { TTextBox.Lier_ratio_entre_2textbox(this.Tb_consigne, this.Tb_con_pour); TTextBox.Lier_ratio_entre_2textbox(this.Tb_con_max, this.Tb_con_max_pour); TTextBox.Lier_ratio_entre_2textbox(this.Tb_con_min, this.Tb_con_min_pour); this.Cmb_type_consigne.SelectedIndexChanged += new EventHandler(this.Cmb_type_consigne_changed); this.Cmb_type_consigne.SelectedIndexChanged += new EventHandler(Nouvelle_donné); this.Tb_consigne.TextChanged += new EventHandler(Nouvelle_donné); this.Tb_con_max.TextChanged += new EventHandler(Nouvelle_donné); this.Tb_con_min.TextChanged += new EventHandler(Nouvelle_donné); this.Cmb_consigne_CAN.SelectedIndexChanged += new EventHandler(Nouvelle_donné); this.Gb_Principal.Resize += new EventHandler(this.Gb_Déplacement_Resize); }
private void Init_Textbox_et_label(int xpos, int ypos) { int lxpos = 6; int lypos = 3; this.Chb_Rouecodeuse = new CCheckBox("Chb_Rouecodeuse", lxpos, ypos, false, "Utiliser roue codeuse pour temps mort"); ypos += 21; this.Tb_tpsmort = new TTextBox("Tb_tpsmort", xpos, ypos, "100", 0, 2555, 5); this.L_tpsmort = new LLabel("L_Pulse_t_1", lxpos, ypos + lypos, "Temps mort par pas de 5ns : ns"); ypos += 21; this.L_Nbbras = new LLabel("L_Nbbras", lxpos, ypos + lypos, "Nombre de bras actifs :"); this.Tb_Nbbras = new TTextBox("Tb_Nbbras", xpos, ypos, "2", 0, 4, 1) { Enabled = false }; }
private void Init_Label_et_Textbox(int xpos, int ypos) { int lxpos = 2; int lypos = 3; int xpos2 = xpos + 46; this.L_10bits = new LLabel("L_10bits", lxpos + xpos, ypos, "10Bits"); this.L_pour = new LLabel("L_pour", lxpos + xpos2, ypos, "En %"); ypos += 21; this.Cmb_type_consigne = new CComboBox("Cmb_type_consigne", xpos - 100, ypos - 2, 91, new List <string>() { "continue ===>", "Sinus FPGA", "extérieur" }, 0); this.Tb_consigne = new TTextBox("Tb_consigne", xpos, ypos, "512", 0, 1023, 1); this.Tb_con_pour = new TTextBox("Tb_con_pour", xpos2, ypos, "50", 0, 100, 0.1); lxpos = 30; ypos += 21; this.L_con_max = new LLabel("L_con_max", lxpos, ypos + lypos, "Consigne max"); this.Tb_con_max = new TTextBox("Tb_con_max", xpos, ypos, "972", 0, 1023, 1); this.Tb_con_max_pour = new TTextBox("Tb_con_max_pour", xpos2, ypos, "95", 0, 100, 0.1); lxpos = 30; ypos += 21; this.L_con_min = new LLabel("L_con_min", lxpos, ypos + lypos, "Consigne min"); this.Tb_con_min = new TTextBox("Tb_con_min", xpos, ypos, "51", 0, 1023, 1); this.Tb_con_min_pour = new TTextBox("Tb_con_min_pour", xpos2, ypos, "5", 0, 100, 0.1); lxpos = 6; xpos += -4; ypos += 26; this.L_consigne_CAN = new LLabel("L_consigne_CAN", lxpos, ypos + lypos, "Consigne d'origine :") { Visible = false }; this.Cmb_consigne_CAN = new CComboBox("Cmb_type_consigne", xpos, ypos, 91, new List <string>() { "CAN1", "CAN2", "CAN3", "CAN4" }, 0) { Visible = false }; }
private void Init_Textbox_et_label(int xpos, int ypos) { int lxpos = 6; int lypos = 3; this.L_diviseur = new LLabel("L_diviseur", lxpos, ypos + lypos, "Diviseur de fréquence :"); this.Tb_freq_div = new TTextBox("Tb_freq_div", xpos, ypos, "1", 1, 1023, 1); ypos += 21; this.L_freq_countmax = new LLabel("L_freq_countmax", lxpos, ypos + lypos, "Valeur max des triangles :"); this.Tb_freq_countmax = new TTextBox("Tb_freq_countmax", xpos, ypos, "1023", 16, 1023, 1); ypos += 21; this.L_frequencedecoupage = new LLabel("L_frequencedecoupage", lxpos, ypos + lypos, "Fréquence de découpage : kHz"); this.Tb_fdec = new TTextBox("Tb_fdec", xpos, ypos, "97,75") { Enabled = false }; ypos += 21; this.L_exp_calcul = new LLabel("L_exp_calcul", lxpos, ypos + lypos, "Fdec = 100MHz / trianglemax / Diviseur"); }
/// <summary> /// Créer et place les label et G_TextBox du PID /// </summary> /// <param name="xpos">position en X de la cmb</param> /// <param name="ypos">position en Y de la cmb</param> private void Init_G_TextBox_et_Label(int xpos, int ypos) { int lypos = 3; int lxpos = xpos - 26; this.Tb_kp = new TTextBox("Tb_kp", xpos, ypos, "512", 1, 1023, 1); this.L_PID_kp = new LLabel("l_PID_kp", lxpos, ypos + lypos, "kp"); ypos += 21; this.Tb_ki = new TTextBox("Tb_ki", xpos, ypos, "972", 1, 1023, 1); this.L_PID_ki = new LLabel("l_PID_ki", lxpos, ypos + lypos, "ki"); ypos += 21; this.Tb_kd = new TTextBox("Tb_kd", xpos, ypos, "51", 1, 1023, 1); this.L_PID_kd = new LLabel("l_PID_kd", lxpos, ypos + lypos, "kd"); ypos += 21; lxpos -= 40; this.Tb_PID_cible = new TTextBox("Tb_PID_cible", xpos, ypos, "512", 1, 1023, 1); this.L_PID_cible = new LLabel("L_PID_cible", lxpos, ypos + lypos, "Valeur cible :"); }
private void Init_Textbox_et_label(int xpos, int ypos) { int lxpos = 50; int lypos = 3; this.Tb_db_T_Pulse1 = new TTextBox("Tb_db_T_Pulse1", xpos, ypos, "4,5", 0.1, 102.3, 0.1); this.L_Pulse_t_1 = new LLabel("L_Pulse_t_1", lxpos, ypos + lypos, "µs T1 : Durée de la première impulsion"); ypos += 21; this.Tb_db_T_Pulse2 = new TTextBox("Tb_db_T_Pulse2", xpos, ypos, "7,5", 0.1, 102.3, 0.1); this.L_Pulse_t_2 = new LLabel("L_Pulse_t_2", lxpos, ypos + lypos, "µs T2 : Durée du temps de repos"); ypos += 21; this.Tb_db_T_Pulse3 = new TTextBox("Tb_db_T_Pulse3", xpos, ypos, "0,9", 0.1, 102.3, 0.1); this.L_Pulse_t_3 = new LLabel("L_Pulse_t_3", lxpos, ypos + lypos, "µs T3 : Durée de la seconde impulsion"); ypos += 21; this.Cmb_Choix_DP_Transistor = new CComboBox("Cmb_Choix_DP_Transistor", xpos, ypos, 116, new List <string>() { "Bas", "Haut" }, 0); this.L_choix_dp_transistor = new LLabel("L_choix_dp_transistor", lxpos + 76, ypos + lypos, "Choix du transistor affecté"); ypos += 21; this.Tb_bras_DP = new TTextBox("Tb_bras_DP", xpos, ypos, "1", 1, 4, 1); this.L_chx_dp = new LLabel("L_chx_dp", lxpos, ypos + lypos, "Choix du bras testé"); }
/// <summary> /// Initialise les textbox et les label /// </summary> /// <param name="xpos">position en x</param> /// <param name="ypos">position en y</param> private void Init_Textbox_et_label(int xpos, int ypos) { int lxpos = 10; int lypos = 3; int Tb_xpos2 = xpos + 42; this.L_valtri = new LLabel("L_valtri", lxpos, ypos + lypos, "Valeur initiale du triangle"); ypos += 21; this.L_l0bits = new LLabel("L_l0bits", xpos, ypos + lypos, "10Bits"); this.L_enpour = new LLabel("L_enpour", Tb_xpos2, ypos + lypos, "En %"); ypos += 21; this.L_départ = new LLabel("L_départ", lxpos, ypos + lypos, "Départ"); this.Tb_val_tri_init = new TTextBox("Tb_tri", xpos, ypos, "512", 0, 1023, 1); this.Tb_val_tri_init_Pour = new TTextBox("Tb_tri_pour", Tb_xpos2, ypos, "50", 0, 100, 0.1); ypos += 21; this.L_limite = new LLabel("L_limite", xpos, ypos + lypos, "Limite"); ypos += 21; this.L_max_bras = new LLabel("L_max_bras", lxpos, ypos + lypos, "Max :"); this.Tb_multinivmax = new TTextBox("Tb_multinivmax", xpos, ypos, "1023", 0, 1023, 1); this.Tb_multinivmax_Pour = new TTextBox("Tb_multinivmax_Pour", Tb_xpos2, ypos, "100", 0, 100, 0.1); ypos += 21; this.L_min_bras = new LLabel("L_min_bras", lxpos, ypos + lypos, "Min :"); this.Tb_multinivmin = new TTextBox("Tb_multinivmin", xpos, ypos, "0", 0, 1023, 1); this.Tb_multinivmin_Pour = new TTextBox("Tb_multinivmin_Pour", Tb_xpos2, ypos, "0", 0, 100, 0.1); ypos += 21; this.Chb_inv_bras = new CCheckBox("Chb_inv_bras", lxpos, ypos, false, "inversion bras haut-bas", false); ypos += 21; this.Cmb_sens_tri = new CComboBox("cmb_tri", lxpos, ypos, 116, new List <string>() { "Monté", "Descente" }, 0); ypos += 21; this.Cmb_cons_Bras = new CComboBox("Cmb_cons_Bras", lxpos, ypos, 116, new List <string>() { "Consigne 1", "Consigne 2" }, 0, false); }
/// <summary> /// Place les Tabel et les textbox /// </summary> /// <param name="xpos">position en x du premier textbox</param> /// <param name="ypos">position en y du premier textbox</param> private void Init_Label_et_Textbox(int xpos, int ypos) { int lxpos = 10; int lypos = 3; int tb_xpos2 = xpos + 105; this.L_div_sinus = new LLabel("l_div_sinus", lxpos, ypos + lypos, "Diviseur Fréquence Hz"); this.Tb_div_sinus = new TTextBox("tb_div_sinus", xpos, ypos, "10", 1, 1023, 1); this.Tb_div_sinus.TextChanged += new EventHandler(Nouvelle_donné); this.Tb_val_freq_sinus = new TTextBox("tb_val_freq_sinus", tb_xpos2, ypos, "4880", 24, 24414, 1); ypos += 21; lxpos = 6; this.L_amplitude = new LLabel("l_div_sinus", lxpos, ypos + lypos, "Amplitude OffSet"); this.Tb_amplitude = new TTextBox("tb_amplitude", xpos, ypos, "1023", 1, 1023, 1); this.Tb_amplitude.TextChanged += new EventHandler(Nouvelle_donné); this.Tb_offset = new TTextBox("tb_offset", tb_xpos2, ypos, "512", 1, 1023, 1); this.Tb_offset.TextChanged += new EventHandler(Nouvelle_donné); ypos += 21; lxpos = -2; this.L_dephasage = new LLabel("l_div_sinus", lxpos, ypos + lypos, "Déphasage En %"); this.Tb_dephasage = new TTextBox("tb_div_sinus", xpos, ypos, "1023", 0, 1023, 1); this.Tb_dephasage.TextChanged += new EventHandler(Nouvelle_donné); this.Tb_dephasage_en_pour = new TTextBox("tb_val_freq_sinus", tb_xpos2, ypos, "100", 0, 100, 0.1); }
private void ControlTestWindow_Loaded(object sender, RoutedEventArgs e) { TTextBox.SignalError("error"); }
/// <summary> /// Met à jour le tooltip d'un textbox /// </summary> /// <param name="tb">Met à jour le tooltip lié au textbox</param> private void MAJ_tooltip(TTextBox tb) { tooltip.SetToolTip(tb, tb.GeneText_ToolTip()); }
/// <summary> /// Rajoute les méthodes au objets /// </summary> private void Init_Lier_méthodes_aux_objets() { TTextBox.Lier_ratio_entre_2textbox(this.Tb_val_freq_sinus, this.Tb_div_sinus); TTextBox.Lier_ratio_entre_2textbox(this.Tb_dephasage, this.Tb_dephasage_en_pour); }