Heim >Backend-Entwicklung >C++ >Wie setze ich einen Combobox -SelectedValue in einem zweiten Formular ein, indem Sie eine DataGridView -Zeile im ersten Formular auswählen?

Wie setze ich einen Combobox -SelectedValue in einem zweiten Formular ein, indem Sie eine DataGridView -Zeile im ersten Formular auswählen?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-31 07:36:11411Durchsuche

How to Set a ComboBox's SelectedValue on a Second Form by Selecting a DataGridView Row on the First Form?

Windows Forms Windows Communication -Methode

Szene:

Windows Forms -Anwendungen erfordern häufig eine Dateninteraktion zwischen mehreren Fenstern, z. B. das Ausfüllen von Steuerelementen in einem anderen Fenster entsprechend der Auswahl eines Fensters.

<:> Frage:

So richten Sie den ausgewählten Wert des zweiten Fensters ein, indem Sie die Zeile im ersten Fenster auswählen, um die Zeile in der DataGridView festzulegen, um den Combobox zu füllen, um den Combobox mit diesem Wert zu füllen? Lösung:

In Windows -Formularen ähneln die Fenster anderen C#-Kategorien, und die Kommunikationsmethoden zwischen den Fenstern entsprechen der Kommunikationsmethode zwischen -klassifisch.

Betrieb das zweite Fenster im ersten Fenster:

Konstruktfunktion Parameterübertragung:

Fügen Sie dem Konstruktor des zweiten Fensters die erforderlichen Parameter hinzu. Beim Erstellen einer zweiten Fensterinstanz wird der Wert an den Konstruktor übergeben. öffentliche Attribute oder Methoden:

Erstellen Sie öffentliche Attribute oder Methoden im zweiten Fenster und setzen Sie diese Attribute nach dem Erstellen einer zweiten Fensterinstanz. Auf diese Weise kann das zweite Fenster auf diese Werte zugreifen.
  • öffentliche Kontrolle: Eine andere Methode besteht darin, die Steuerelemente festzulegen, die auf Berechtigungen für öffentliche Zugriffs betrieben werden müssen, um aus anderen Fenstern zuzugreifen. Dies wird jedoch normalerweise nicht empfohlen, da die Wartung und Skalierbarkeit des Codes verringert wird.
  • Betrieb im ersten Fenster im zweiten Fenster:
  • Übergeben Sie die erste Fensterinstanz: Erstellen Sie im zweiten Fenster ein öffentliches Attribut, um die Instanz des ersten Fensters zu speichern. Geben Sie beim Erstellen einer zweiten Fensterinstanz die Instanz des ersten Fensters an ihn. Dann können Sie diese Instanz verwenden, um das erste Fenster zu bedienen.
  • Ereignis verwenden:
Erstellen Sie ein Ereignis im zweiten Fenster und abonnieren Sie das Ereignis im ersten Fenster. Wenn das erste Fenster erforderlich ist, wird das Ereignis ausgelöst.

in die Aktionskommission injizieren: Definieren Sie ein öffentliches Attribut der Aktion, die im zweiten Fenster anvertraute Typen. Verwenden Sie beim Erstellen einer zweiten Fensterinstanz eine benutzerdefinierte Aktion, um das Attribut zuzuweisen. Wenn Sie das erste Fenster bedienen müssen, rufen Sie die Aktion im zweiten Fenster an.

    Das erste Fensterregelung:
  • Geben Sie die Steuerung des ersten Fensters direkt an und übergeben Sie die Instanz des ersten Fensters zum zweiten Fenster. Dann können Sie die Kontrolle bedienen. Dies wird jedoch nicht empfohlen, der Grund ist oben.
  • Beispiel:
  • Betrieb das zweite Fenster im ersten Fenster
  • Beispiel 1 -Der Konstruktor der Verwendung des zweiten Fensters:
  • im ersten Fenster:
Beispiel 2 -öffentliche Attribute der Verwendung des zweiten Fensters:

im ersten Fenster:

Das erste Fenster arbeitet aus dem zweiten Fenster

Beispiel 3 -Überträgen Sie die Instanz des ersten Fensters zum zweiten Fenster und verwenden Sie eine öffentliche Methode:

beim Erstellen von Form2:
<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>

Diese Beispiele zeigen die Implementierung verschiedener Methoden zur Auswahl, hängt vom spezifischen Anwendungsszenario und der Codestruktur ab. Es wird empfohlen, die Verwendung öffentlicher Attribute oder Methoden vorrangig zu machen, um die direkte öffentliche Kontrolle zur Verbesserung der Wartung und Lesbarkeit des Codes zu vermeiden.
<code class="language-csharp">int value = 2; // 或从DataGridView获取
Form2 f = new Form2(value);
f.ShowDialog();</code>

Das obige ist der detaillierte Inhalt vonWie setze ich einen Combobox -SelectedValue in einem zweiten Formular ein, indem Sie eine DataGridView -Zeile im ersten Formular auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn