aktives Steuerelement

Rainer Wein

Grünschnabel
Hallo allerseits!

Ich beschäftige mich gerade ein wenig mit dem TabControl und steh nun vor einem Problem. http://img388.imageshack.us/my.php?image=progbh6.jpg
Per Button(Button2) kann ich dynamisch einen neuen Tab sowie eine dazugehörige ListBox erzeugen.
Ein anderer Button(Button1) diehnt dazu Dateien zu öffnen und in den ListBox zu schreiben.
1. Wie schaffe ich es wenn ich den OpenFileDialog benutze, das die zu öffnenten Dateien im jeweiligen aktiven Tab bzw ListBox geschrieben werden?
Code:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim TabSeite As New TabPage("Playlist vom ")
Dim uc As New ListBox()
            uc.Dock = DockStyle.Fill
            TabControl1.TabPages.Add(TabSeite)
            TabSeite.Controls.Add(uc)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Dim anzFile As Integer = 0
            While anzFile < OpenFileDialog1.FileNames.Length
                ListBox1.Items.Add(OpenFileDialog1.FileNames(anzFile))
                anzFile += 1
            End While
        End If

2. Eine andere Frage die ich mir stelle ist, weßhalb die ListBox in der TabControl immer unten einen kleinen Rand lässt obwohl es mit DockStyle.Fill eigentlich die Größe an den Container anpassen sollte?
 
Hi

Das Beispiel ist zwar in C# aber da die Klassen die gleichen sind...
C#:
private void button1_Click(object sender, EventArgs e)
{
      TabPage page = new TabPage("page 2");
      ListBox lb = new ListBox();
      lb.Name = "ListBox";
      lb.Dock = DockStyle.Fill;
            
      tabControl1.TabPages.Add(page);
      page.Controls.Add(lb);
}

private void button2_Click(object sender, EventArgs e)
{
      ListBox lb = tabControl1.SelectedTab.Controls["ListBox"] as ListBox;
      OpenFileDialog ofd = new OpenFileDialog();
      if (ofd.ShowDialog() == DialogResult.OK)
      {
           StreamReader reader = new StreamReader(ofd.OpenFile());
           while (reader.Peek() >= 0)
           {
                lb.Items.Add(reader.ReadLine());
           }
       }
}
 
Erstmal Dankeschön für die Hilfe,
aber ich komme trotzdem mit dieser Zeile nicht zu recht
Code:
ListBox lb = tabControl1.SelectedTab.Controls["ListBox"] as ListBox;
Bekomme da einige Fehler angezeigt. ("ListBox" ist ein Typ und kann nicht als Ausdruck verwendet werden). Außerdem muss ich gestehen das ich noch ein blutiger Anfänger bin. Wäre schön wenn mir da noch jemand helfen könnte.

Hat vielleicht noch jemand eine Idee für mein anderes Problem?
 
Zurück