TabControl welche Page im Fokus

kanada

Mitglied
Servus,

ich hätte mal eine Frage, wie könnte ich denn am besten in einem SubForm abfragen, welches Pages im TabControl (MainForm) aktiv ist? Bzw. das beste wäre natürlich gleich beim öffnen der SubForm dies ab zufragen und im SubForm dann in einer Combox die passenden Inhalte anzuzeigen.
 
Hallo,

die TabControl-Klasse hat einen Member "SelectedTab", der die aktive (gewählte) TabPage enthält.

Gruß
MCoder
 
Hi,

erstmal danke, hab es nun hinbekommen :)

MainForm
Code:
private void BtnNeuerEintrag_Click(object sender, EventArgs e)
        {
            Boolean schonda = false;

            foreach (Form formschonda in Application.OpenForms)
            {
                if (formschonda.Name == "NeuerEintrag")
                {
                    schonda = true;
                }
            }

            if (schonda == false)
            {
                if (tabControl1.SelectedTab == tabControl1.TabPages["TabAudi"])
                {
                    NeuerEintrag form2 = new NeuerEintrag();
                    form2.Id = 1;
                    form2.Show()
                }
                else if (tabControl1.SelectedTab == tabControl1.TabPages["TabBMW"])
                {
                    NeuerEintrag form2 = new NeuerEintrag();
                    form2.Id = 2;
                    form2.Show()
                }
                ...
            }
        }

SubForm
Code:
private int id = 0;

        public int Id
        {
            get { return this.id; }
            set { this.id = value; }
        }

Aber gleich mal eine Verständnisfrage hinter her, wieso kann ich
Code:
NeuerEintrag form2 = new NeuerEintrag();
                    form2.Id = 1;
                    form2.Show();
schreiben, aber nicht?
Code:
Form frm = new NeuerEintrag();
                    frm.Id = 1;
                    frm.Show(this);
 
Hallo,

das Problem ist die Zuweisung an "Id", weil die nur in "NeuerEintrag" vorhanden und daher in der Klasse "Form" nicht bekannt ist.

Du könntest bei der Zuweisung höchsten casten:
C#:
Form frm = new NeuerEintrag();
((NeuerEintrag)frm).Id = 1;
frm.Show(this);
Gruß
MCoder
 
Zurück