Hey Leute, also habe ich eine Klasse gemacht, also wenn der Benutzer ein Element aus der Listbox auswählt, deinstalliert es dieses Element, außer das Problem ist, dass ich nicht auf das Listenfeld zugreifen kann. Ich versuchte öffentliches aswell, aber im code von form1.cs ist die einzige Sache, die zu diesem Listenfeld schließend istZugriff auf Listbox von einer anderen Klasse?
im Verstand Name der Listbox ist ProgramslistBox OK Kerle, die ich diesen Posten redigierte;
private void button1_Click(object sender, EventArgs e)
{
if(ProgramsListbox.SelectedIndex == -1)
{
MessageBox.Show("Please select an item to uninstall!");
}
else
{
ProgramsListbox_SelectedIndexChanged("",EventArgs.Empty);
}
}
dieser Code Form1.cs Klasse ist, und ich habe eine andere Klasse namens UninstallItem.cs ist, wo ich meinen Code wollen, um dies unten ist meine andere Klasse
Namespace PC_TECH_Registery_Cleaner { Klasse UninstallItem {
public void uninstallSelectedItem()
{
Form1 c = new Form1();
}
}
}
Und unten ist sti ll in meiner form1.cs Klasse, ich war das Experimentieren mit ihm:
public void ProgramsListbox_SelectedIndexChanged(object sender, EventArgs e)
{
//this will access the Uninstall item class so we can uninstall selected item.
UninstallItem c = new UninstallItem();
c.uninstallSelectedItem();
}
Warum nicht einfach die Methode Ihrer Klasse innerhalb dieses Ereignishandlers auf dem Formular aufrufen? – Jamiec
Erstellen Sie einen neuen Konstruktor in Ihrer zweiten Form, der eine 'Form' als Parameter annimmt. Übergeben Sie dann die Instanz des ersten Formulars an den Konstruktor des anderen Formulars, und speichern Sie es in einer Eigenschaft. Dann können Sie über diese Eigenschaft auf alle Steuerelemente des ersten Formulars aus dem zweiten Formular zugreifen. –