Maison >développement back-end >C++ >Comment définir une valeur sélectionnée de combobox sur un deuxième formulaire en sélectionnant une ligne DataGridView sur le premier formulaire?
Scène:
Les applications des formulaires Windows nécessitent souvent une interaction de données entre plusieurs fenêtres, telles que le remplissage des contrôles sur une autre fenêtre en fonction du choix d'une fenêtre.
Question:
Comment configurer la valeur sélectionnée de la deuxième fenêtre en sélectionnant la ligne dans la première fenêtre pour définir la ligne dans DataGridView pour remplir le ComboBox pour remplir le ComboBox avec cette valeur? Solution:
Dans les formulaires Windows, les Windows sont similaires aux autres catégories C #, et les méthodes de communication entre les fenêtres sont les mêmes que la méthode de communication inter-classe.
Fonctionne la deuxième fenêtre de la première fenêtre:
Construire le transfert de paramètres de la fonction:
Ajouter les paramètres nécessaires au constructeur de la deuxième fenêtre. Lors de la création d'une deuxième instance de fenêtre, la valeur est transmise au constructeur. Attributs ou méthodes publiques:
Créer des attributs ou des méthodes publics dans la deuxième fenêtre, et définissez ces attributs après avoir créé une deuxième instance de fenêtre. De cette façon, la deuxième fenêtre peut accéder à ces valeurs.Injectez-le dans la Commission d'action: Définissez un attribut public du type d'action confié dans la deuxième fenêtre. Lors de la création d'une deuxième instance de fenêtre, utilisez une action personnalisée pour attribuer l'attribut. Lorsque vous devez faire fonctionner la première fenêtre, appelez l'action dans la deuxième fenêtre.
dans la première fenêtre:
La première fenêtre fonctionne à partir de la deuxième fenêtre
Exemple 3 - Transfert l'instance de la première fenêtre à la deuxième fenêtre et utilisez une méthode publique:
lors de la création de formulaire 2:<code class="language-csharp">public partial class Form2 : Form { int selectedValue; public Form2(int value) { InitializeComponent(); selectedValue = value; } private void Form2_Load(object sender, EventArgs e) { // 加载数据 this.comboBox1.DataSource = new MyDbContext().Categories.ToList(); // 假设Categories是数据库表 this.comboBox1.DisplayMember = "Name"; this.comboBox1.ValueMember = "Id"; this.comboBox1.SelectedValue = selectedValue; } }</code>
Ces exemples montrent la mise en œuvre de différentes méthodes, quelle méthode à choisir dépend du scénario d'application spécifique et de la structure du code. Il est recommandé de donner la priorité à l'utilisation d'attributs ou de méthodes publics pour éviter un contrôle public direct afin d'améliorer la maintenance et la lisibilité du code.
<code class="language-csharp">int value = 2; // 或从DataGridView获取 Form2 f = new Form2(value); f.ShowDialog();</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!