bestimmte TabPage im Constructor laden und im form anzeigen

arrayhunter

Mitglied
hallo,

folgendes Problem:

Ich habe ein form mit einem TabControl, welches ich per Menüclick lade.
Problem ist allerdings, dass ich das gleiche Formular laden möchte, mit verschiedenen Menüpunkten.


Bsp.
SettingsFormular
mit TabPages Anrede u. Antragstyp


in meinem menü in der Hauptform, 2 Menüpunkte : Anrede u. Antragstyp


jetzt soll aber immer das gleiche Formular(Settings) geladen werden, allerdings sollte immer die entsprechende Tabpage gelaDEn werden.

ich habe jetzt folgendes probiert:

in den Event-prozeduren der Menüpunkte
Code:
Settingsform form1 = new SettingsForm(tabAnrede bzw. Antragstyp);
form1.Show()
und im Settingsform die Auswertung:
Code:
// KOnstruktor
private void Settingsform(TabPage tp)
{
     t = tp // t vom Typ Tabpage
}
und im Formload

mytab.Selected = t;

Problem: es wird immer nur die erste Tabpage aktiviert
warscheinlich mache ich etwas falsch.
Es wird aber die korrekte tabpage übergeben, allerdings nicht aktiviert
 
Hi!
Ich hoffe ich habe Deine Frage richtig verstanden. Du möchtest also nur den richtigen Tab anzeigen. Das geht damit:
Für dieses Beispiel habe ich im Designer einfach ein tabcontrol1 auf die form plaziert und 3 Tabs tabPage1 - 3 dazu erstellt. Mittels Buttons habe ich die einzelnen Tabs mit folgendem Code aktiv geschaltet.
Code:
tabControl1.SelectedTab = tabPage1;
So würde es auch noch gehen :)
Code:
// aktiviert tabPage3
tabControl1.SelectedIndex = 2;
Du schreibst immer davon, das die Tabs geladen werden. Heißt das das Du im Load Event Deiner Form die Tabs für Dein TabControl erst hier erstellst? Vielleicht liegt hier auch noch der Fehler?!

Ciao
LieberNet
 
Zuletzt bearbeitet:
hallo, danke für deine Antwort.

Leider bin ich immer noch nicht dahinter gekommen, wie es richtig funktioniert...:(

Ich habe mal als Anhang eine VS2003-Solution angehangen....

irgend etwas klappt nicht im KOnstruktoraufruf von Form2,
zumal mir in der Messagebox der richtige Parameter ausgegeben wird
 

Anhänge

  • WindowsApplication1.zip
    31,3 KB · Aufrufe: 17
Hi!
Vielleicht solltest Du Deinen Vergleich
Code:
if(selectedTab == "Antragstyp")
so machen, dann klappts auch mit den TabAktivieren. Du übergibts in Deiner Form den String "Antragstyp" und vergleichst dann aber mit "AntragsTyp". Der Vergleich geht natürlich schief :) und dann wirds auch nix mit den Tab aktivieren.

Ciao
LieberNet
 
Zuletzt bearbeitet:
hehe, klappt jetzt...
leider habe ich nur 2 Augen...

echt blöder Fehler von mir...

da plagt man sich mit BUsiness-Logic, Remoting und noch anderen Sachen rum, und dann passiert so was...;)
 
Zurück